Lucene 基于部分词的文档搜索

Lucene 基于部分词的文档搜索,lucene,solr,information-retrieval,xapian,whoosh,Lucene,Solr,Information Retrieval,Xapian,Whoosh,我正在寻找一个文件搜索引擎(如Xapian,呼呼声,Lucene,Solr,Sphinx或其他),这是能够搜索部分条款 例如,在搜索术语“brit”时,搜索引擎应返回包含“britney”或“British”的文档,或者通常返回包含与r*brit* 切题地说,我注意到大多数引擎使用TF-IDF(术语频率逆文档频率)或其基于完整项而非部分项的派生词。除了TF-IDF用于文档检索外,还有其他成功实现的技术吗?使用lucene,您可以通过以下几种方式实现: 1.)您可以使用通配符查询*brit*(您必

我正在寻找一个文件搜索引擎(如Xapian,呼呼声,Lucene,Solr,Sphinx或其他),这是能够搜索部分条款

例如,在搜索术语“brit”时,搜索引擎应返回包含“britney”或“British”的文档,或者通常返回包含与r
*brit*


切题地说,我注意到大多数引擎使用TF-IDF(术语频率逆文档频率)或其基于完整项而非部分项的派生词。除了TF-IDF用于文档检索外,还有其他成功实现的技术吗?

使用lucene,您可以通过以下几种方式实现:

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

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

3.)您可以使用模糊搜索来处理查询中的键入错误。e、 g.有人键入了
britnei
,但想找到
britney


对于通配符查询和模糊搜索,请查看。

我建议您在问题、lucene、Xapian或至少是搜索引擎中添加搜索引擎标记。搜索是一个通用的标签,对搜索引擎感兴趣的人可能会厌倦阅读各种非搜索引擎相关问题的奇怪请求。祝你好运谢谢你的建议。添加了更多的标签。您没有阅读各种引擎的文档的任何原因。Lucene(因此Solr)支持通配符搜索:如何在查询开始时使用“*”?您必须告诉查询解析器允许这些类型的查询。使用函数setAllowReadingWildcard可以完成此操作。