我无法让 solr 索引我的 xml 文件。我正在使用 DIH 句柄来导入 xml。
以下是我的 xml 数据文件的一部分,名称为 hw1.xml
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
下面是我的架构文件
<?xml version="1.0" encoding="UTF-8" ?>
<schema name="ECPS_Schema" version="1.5">
<fields>
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="to" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="from" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="heading" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="body" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="text" type="text_field" indexed="true" stored="true" />
<field name="_version_" type="long" indexed="true" stored="true"/>
</fields>
<uniqueKey>id</uniqueKey>
<copyField source="to" dest="text"/>
<copyField source="from" dest="text"/>
<copyField source="heading" dest="text"/>
<copyField source="body" dest="text"/>
<types>
<fieldType name="string" class="solr.StrField" sortMissingLast="true" />
<fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="text_field" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
</analyzer>
</fieldType>
<fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
</types>
</schema>
下面是我的数据配置文件
<dataConfig>
<dataSource type="FileDataSource" encoding="UTF-8" />
<document>
<entity name="page" processor="XPathEntityProcessor" stream="true" forEach="/doc" url="/opt/solr-4.4.0/solr/example/exampledocs" forEach="/note" transformer="RegexTransformer,DateFormatTransformer">
<field column="file" name="id"/>
<field column="to" xpath="/note/to" indexed="true" multiValued="false"/>
<field column="from" xpath="/note/from" indexed="true" multiValued="false"/>
<field column="heading" xpath="/note/heading" indexed="true" multiValued="false"/>
<field column="body" xpath="/note/body" indexed="true" multiValued="false"/>
</entity>
</document>
</dataConfig>
我将此添加到我的 solrconfig.xml 中,
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
我的问题是,由于我使用的是 DIH,并且 data-config 文件具有指示 xml 文件位置的 url 参数,我是否需要执行其他任何操作,例如 POST hw1.xml 文件?假设在创建核心时,它会看到 dataconfig 文件并加载符合 url 属性中指示的目录中描述的格式的 xml,我是否正确?
<entity name="page" processor="XPathEntityProcessor" stream="true" forEach="/doc" url="/opt/solr-4.4.0/solr/example/exampledocs" forEach="/note" transformer="RegexTransformer,DateFormatTransformer">
日志不指示错误,但我看到 numDocs 索引为 0,如何调试?