(六) 从二进制文件提取数据元信息,并导入到solr
下面演示如何从二进制文件,如:mp3中提取文件的相关信息,如标题、作者等
首先还是展示一下我们的schema.xml文加
<field name="id" type="string" indexed="true" stored="true" required="true"/> <field name="author" type="string" indexed="true" stored="true" multiValued="true"/> <field name="title" type="text" indexed="true" stored="true"/> <dynamicField name="ignored_*" type="ignored" indexed="false" stored="false" multiValued="true"/>
然后在solrconfig.xml文件添加以下配置:
<requestHandler name="/update/extract" class="org.apache.solr.handler.extraction.ExtractingRequestHandler"> <lst name="defaults"> <str name="lowernames">true</str> <str name="uprefix">ignored_</str> <str name="captureAttr">true</str> </lst> </requestHandler>
说明:
<str name="lowernames">true</str> :将从二进制文件中抽取的元数据信息字段名都转换为小写
<str name="uprefix">ignored_</str>:如果从二进制文件中抽取出来的字段名在schema.xml中没有定义时,使用的字段名前缀
<str name="captureAttr">true</str>:捕获二进制文件的一些属性信息
重启solr服务
curl "http://localhost:8983/solr/update/extract?literal.id=1&commit=true" -F "myfile=@sample.mp3"