Lucene基本搜索短语首先不按完整的sentance加权

本文关键字:加权 sentance 搜索 短语 Lucene | 更新日期: 2023-09-27 18:22:24

一直在尝试让Lucene搜索为一个简单的示例工作。用户将能够使用多个单词进行搜索,我想带回一些经过加权的结果,以便匹配完整的句子。与只有一个单词匹配的结果相比,这将是最高的分数。

目前,搜索似乎将搜索词分解为单独的单词,从不费力地搜索任何完整的句子或句子的一部分。

我不确定我现在需要传递给Parser什么。下面的搜索返回一个查询,其中"Hello"answers"Kitty"是单独的搜索。

    Query searchQuery = MultiFieldQueryParser.Parse(Lucene.Net.Util.Version.LUCENE_CURRENT, //  phrase,
                                    new string[] { "Hello Kitty"},
                                    new[]   { 
                                            "description", 
                                            },
                                    new[]   { 
                                            BooleanClause.Occur.SHOULD, 
                                            BooleanClause.Occur.SHOULD, 
                                            BooleanClause.Occur.SHOULD, 
                                            },
                                    new Lucene.Net.Analysis.Standard.StandardAnalyzer());

我确信这一定很容易实现,但不确定如何实现

Lucene基本搜索短语首先不按完整的sentance加权

单独搜索是什么意思?

description:hello OR description:kitty

即使在这种情况下,与只包含hello或kitty的文档相比,同时包含hello和kitty描述的文档也很可能得分更高(我假设文档长度和术语重复在文档中或多或少保持不变)

您也可以通过附加短语查询来修改上述查询。

description:"hello kitty" OR description:hello OR description:kitty