我需要 lucene 来搜索同义词以及实际的关键字。也就是说,如果我搜索“CI”,我希望它搜索 CI 或“继续集成”。目前,我搜索具有同义词的关键字并将其替换为“OR-ed”版本,但我怀疑应该有更好的方法来做到这一点。我的方法不适用于具有“x AND y OR NOT z”之类的复杂查询。
Shafa
问问题
2671 次
2 回答
2
这几乎就是我计划实现此功能的方式。我正计划构建我自己的版本,但后来我遇到了这个站点WordNet.Net,它似乎试图解决构建同义词的问题。Lucene.Net 有一个 wordnet 扩展,它重写了查询,所以我猜这确实是处理这个问题的标准方法。
于 2008-10-21T18:48:58.590 回答
0
至少在 Lucene 的 Java 版本中,您可以自己编写一个递归函数来挖掘 QueryParser 将构建的 BooleanQuery Query 对象;每次它找到一个 TermQuery 时,它都可以用一个 BooleanQuery 替换它,它是原始术语与您想要添加到查询中的新术语。
于 2008-11-06T23:28:18.773 回答