Lucene在寻找汉堡时带上芝士汉堡

我希望如果一个lucene文档包含单词cheeseburger并且用户搜索汉堡来提供这些文档.我看到我可能需要一个自定义分析仪来将这个复合词分解成奶酪和汉堡.但是,打破单词也可能带来无关的结果.

例如:如果在索引生产时我们也会对产品和离子进行索引,那么当用户搜索包含生产的离子文档时,将会出现,这是不相关的.

所以一个简单的断字器不会削减它.我需要一种方法来了解芝士汉堡与汉堡和奶酪有关,但这种生产与离子无关.

是否有更智能的流程来实现这一目标?

这有一个名字,就像词干是将词语减少到它们的根形式?

最佳答案 根据您对同义词的准确程度,您可能需要研究诸如
Latent Semantic Analysis(LSA)及其变体(如LDA等)的方法.更简单的方法是使用诸如
Wordnet之类的Ontology来增强您的搜索. Wordnet Lucene索引可用.但是,如果您的方案包含特定于域的词汇,那么您可能需要生成“映射”本体.

点赞