我想在Lucene中索引一個可以在不同語言中使用RDF文本的字段。 大多數到目前爲止,我所看到的方法是:在lucene中索引多語言詞
使用一個單一的指標,其中每個文件都有每它使用的每種語言的一個字段,或
M用指標,M是數語料庫中的語言。
Lucene的2.9+有一個稱爲有效載荷功能,允許將屬性附加到項。有人使用這種機制來存儲語言(或其他屬性,如數據類型)信息嗎?與其他兩種方法相比,性能如何?源代碼上的任何指針顯示如何完成將有所幫助。謝謝。
我想在Lucene中索引一個可以在不同語言中使用RDF文本的字段。 大多數到目前爲止,我所看到的方法是:在lucene中索引多語言詞
使用一個單一的指標,其中每個文件都有每它使用的每種語言的一個字段,或
M用指標,M是數語料庫中的語言。
Lucene的2.9+有一個稱爲有效載荷功能,允許將屬性附加到項。有人使用這種機制來存儲語言(或其他屬性,如數據類型)信息嗎?與其他兩種方法相比,性能如何?源代碼上的任何指針顯示如何完成將有所幫助。謝謝。
這取決於。
+text:foo +language:english
。就效率而言:您可能希望避免有效載荷,因爲您必須重複每個術語的語言名稱,並且無法基於有效載荷進行搜索(至少不容易)。
所以基本上lucene是一種排名算法,它只是查看字符串並將它們與其他字符串進行比較。它們可以用不同的字符編碼進行編碼,但它們的相似性是相同的。只要確保你使用受支持的語法分析器加載SnowBallAnalyzer,你應該得到結果。就像說西班牙語或中文
我想要案例2.我需要能夠向用戶展示其文字的語言。如果一個名爲prefLabel的字段,lucene是否可以處理不同語言中相似的標籤的索引,例如「email」^ en「email」^ fr?倒排索引是否使用有效載荷來區分條目? – fellahst 2011-03-10 20:13:27
@fellahst:你可以將有效載荷想象爲「無論你想要附加到該術語的隨機廢話。」搜索者忽略它。儘管如此,您仍然可以手動將其拉出。 – Xodarap 2011-03-11 04:15:56
我注意到有一個PayloadTermQuery類允許查詢Payload。我不確定當你說搜索者忽略有效載荷時你是否聲稱是正確的。 – fellahst 2011-03-11 17:04:45