0

一直试图让 Lucene 搜索为一个简单的例子工作。用户将能够搜索多个单词,我想带回一些已加权的结果,以便匹配完整的句子。与仅匹配一个单词的结果相比,这将具有最高分。

目前,搜索似乎将搜索词拆分为单个单词,并且从不费心搜索任何完整的句子或句子的一部分。

我不确定我现在需要将什么传递给解析器。下面的搜索返回一个带有“Hello”和“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());

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

4

1 回答 1

0

单独搜索是什么意思?

description:hello OR description:kitty?

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

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

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

于 2013-07-16T03:08:01.817 回答