文档搜索部分单词

时间:2011-04-26 05:32:36

标签: lucene solr information-retrieval xapian whoosh

我正在寻找能够搜索部分术语的文档搜索引擎(如Xapian,Whoosh,Lucene,Solr,Sphinx或其他)。

例如,当搜索“brit”一词时,搜索引擎应返回包含“britney”或“britain”的文档,或者通常包含与r *brit*匹配的单词的文档

切向地,我注意到大多数引擎使用TF-IDF(术语频率 - 反向文档频率)或其衍生物,它们基于完整术语而非部分术语。除了TF-IDF之外,还有其他成功实施的技术用于文档检索吗?

1 个答案:

答案 0 :(得分:15)

使用lucene,您可以通过多种方式实现此目的:

1。)您可以使用通配符查询*brit*(您必须将查询解析器设置为允许引导通配符)

2.。)您可以创建包含N-Grams of all the terms的附加字段。这将导致更大的索引,但在许多情况下会更快(搜索速度)。

3.。)您可以使用模糊搜索来处理查询中的输入错误。例如有人打字britnei,但希望找到britney

对于通配符查询和模糊搜索,请查看query syntax docs