使用Lucene搜索库算法

时间:2014-05-05 20:14:25

标签: java algorithm search lucene

我通过apache听说过库Lucene,我在互联网上搜索了lucene使用的搜索算法,但是我找不到任何东西,请告诉我任何人这个。我的意思是lucene使用的算法是Linear SearchBinary tree Search ....

1 个答案:

答案 0 :(得分:2)

LuceneInformation Retrieval (IR)的库,它专注于如何根据索引搜索大型语料库中的查询(关键字),类似于谷歌所做的(某些事情)。 / p>

IR最基本的想法是从语料库中构建inverted index,从每个单词映射到包含它的所有文档。

例如,如果你有:

d1 = as good as it gets and more
d2 = the good the bad and the ugly
d3 = Is it ugly and bad? It is, and more!

它将构建一个看起来像这样的倒排索引:

as: d1, 
good: d1, d2
it: d1, d3
gets: d1
and: d1, d2, d3
...

现在,如果您搜索单词(词语)'它,索引可以高效且轻松地告诉您“它”#39;出现在d1和d2中。这是构建索引并进行搜索的最基本概念。

当然,还有更多内容,我们鼓励您了解有关这些算法的更多信息。这实际上是一个巨大的研究领域,每天都会发表新的研究成果。要了解更多信息,我发现Manning的Introduction to Information Retrieval非常有帮助。