Apache Lucene中的单词关联搜索

时间:2013-06-13 14:14:08

标签: java search lucene machine-learning

我要求关联共同主题下的数学术语。对于例如角度,cos,tan等应与三角学有关。因此,当用户搜索角度,三角形等时,搜索也应该呈现与三角学相关的结果。任何人都可以提供有关如何在Apache Lucene中执行此操作的线索吗?

3 个答案:

答案 0 :(得分:2)

有一个classification api,其中包含 K-最近邻居朴素贝叶斯模型。

您首先将train()方法与训练集一起使用。训练分类器后,使用assignClass()方法对给定字符串进行分类。

对于训练集,您可以将维基百科页面用于给定的课程。

在尝试了这两个之后,您可以使用Classifier界面来构建竞争模型。

答案 1 :(得分:0)

如果你已经知道这些关联,你可以将它们添加到特定术语的索引中 - 即将'cos'索引为'cos','trigonometry'。

此外,如果您知道关联,您可以索引父术语和所有兄弟术语 - 即将'cos'索引为'trigonometry','cos','sin'等。这听起来更像是你想。

答案 2 :(得分:0)

除了@Josh S.的好答案之外,您还可以采取更直接的方法,生成自己的同义词词典,例如:见Match a word with similar words using Solr?