我是Solr的新手。我成功地通過DIH從我的sql數據庫索引數據。現在我想導入XML文件並通過DIH將它們編入索引,但它不起作用! 我的數據-config.xml文件看起來是這樣的:Solr DataImportHandler不適用於XML文件
<dataConfig>
<dataSource type="FileDataSource" encoding="UTF-8" />
<document>
<entity name="dir"
processor="FileListEntityProcessor"
baseDir="/bla/test2"
fileName=".*xml"
stream="true"
recursive="false"
rootEntity="false">
<entity name="PubmedArticle"
processor="XPathEntityProcessor"
transformer="RegexTransformer"
stream="true"
forEach="/PubmedArticle"
url="${dir.fileAbsolutePath}">
<field column="journal" xpath="//Name[.='journal']/following-sibling::Value/text()" />
<field column="authors" xpath="//Name[.='authors']/following-sibling::Value/text()" />
..etc
,我已經在schema.xml中以下字段:
<field name="journal" type="text" indexed="true" stored="true" required="true" /> <field name="authors" type="text" indexed="true" stored="true" required="true" />
當我運行Solr的我沒有得到任何錯誤並沒有索引文件:
<str name="Total **Rows Fetched**">**2000**</str>
<str name="Total **Documents Skipped**">**0**</str>
<str name="Full Dump Started">2012-02-01 14:59:17</str>
<str name="">Indexing completed. **Added/Updated: 0 documents.** Deleted 0 documents.
Can有人告訴我我做錯了什麼?!我甚至雙重檢查路徑語法...
嗯,我不熟悉的常規,但是,本例看起來容易,但我還是不要甚至不知道該怎麼處理這個腳本!但是,我確實發現它確實與xpath表達式有關。該XML文件是這樣的: <名稱的className = 「java.lang.String中」>軸頸 <值的className = 「java.lang.String中」>有機化學雜誌 的。雖然表達式正確,當我改變它只''名稱'DIH索引文件,但那不是我想要的。 //名稱[text()='journal']不會工作:(我只是不明白爲什麼! –
Mel
2012-02-03 15:06:39