索引Solr / lucene中的结构化数据集XML文档

时间:2016-05-02 14:03:19

标签: xml solr lucene dataimporthandler structured-data

我正在尝试使用Solr索引XML文档的小数据集, 示例xml:

<?xml version='1.0' encoding='utf-8'?>
<doc xmin = 0, xmax = 9.233174603174604>     
<title>John speech</title>
<description>shjshksjcjslkclsjk </description>
<uploaded_time>03/14/2010 08:44 PM</uploaded_time>
<likes>84906</likes>
<tier name="words">
<trans   xmin="0.0"  xmax="0.8325873015873018">silent</trans>
<trans   xmin="0.8325873015873018"   xmax="1.9564232192938984">Hi</trans>
<trans   xmin="1.9564232192938984"   xmax="3.874938884654082">I</trans>
<trans   xmin="3.874938884654082"    xmax="4.940780920965295">am</trans>
<trans   xmin="4.940780920965295"    xmax="6.495133890585815">John</trans>
:
:
</tier>
<doc>

Solr可以索引这种嵌套的xml标签吗? 我用solrconfig.xml尝试了DataImportHandler!这xml-data-config.xml! (不确定它的正确性仍然没有清楚地理解如何处理嵌套的xml,特别是对于未确定的层长度)

但是尝试进行dataimport,我收到:

  

索引......   请求:0,提取:0,跳过:0,已处理:0

虽然我的小数据集只包含很少的短文件,但它会保留很长时间。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

我的配置文件中有很多错误。 主要问题是我必须使用&#34; XPathEntityProcessor&#34;作为xml文件数据源实体的处理器而不是TikaEntityProcessor。 对于未确定的字段长度,如&#34; trans&#34;它将添加multiValued =&#34; true&#34; 即使我将DateFormatTransformer添加到实体后,上传的时间也必须是ISO-8601格式。