我想在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