如何在Lucene.Net中找到同义词

时间:2008-10-09 22:05:49

标签: lucene lucene.net

我需要lucene来搜索同义词以及实际的关键字。也就是说,如果我搜索“CI”,我希望它搜索CI或“继续集成”。目前我搜索关键词我有同义词并用“OR-ed”版本替换它们,但我怀疑应该有更好的方法来做到这一点。我的方法不适用于你有“x AND y OR NOT z”之类的复杂查询。

2 个答案:

答案 0 :(得分:2)

这就是我计划实现此功能的方式。我计划构建我自己的版本,但后来我跑过这个网站WordNet.Net,似乎试图解决构建同义词的问题。 Lucene.Net有一个wordnet扩展,它重写了查询,因此我猜这是处理这个问题的标准方法。

答案 1 :(得分:0)

至少在Lucene的Java版本中,你可以编写一个递归函数,挖掘QueryParser将构建的BooleanQuery Query对象;每当它找到一个TermQuery时,它就可以用一个BooleanQuery替换它,或者是原始术语,或者你想要添加到查询中的新术语。