用Lucene搜索问题

时间:2011-08-08 08:46:26

标签: java search lucene

我有一个大约22,000个lucene文档的Lucene索引,但在创建搜索程序时我遇到了一个独特的问题。

每个文档都有标题,描述和long_description字段,这些字段包含与不同疾病及其症状相关的数据。现在,当我搜索如下的短语 “感染小肠”我期待“霍乱”成为第一个结果(顺便说一下,我使用MultiFieldQueryParser和StandardAnalyzer。)

我希望霍乱成为第一个的原因是因为它在长描述字段中有确切的短语“感染小肠”。但是这个结果不是最重要的,而是在底部,因为有很多其他文件在标题字段中提到术语“感染”(其长度远远小于描述字段)。这可以在下面的屏幕截图中轻松看到。 enter image description here

因为“霍乱”在“标题”字段中没有最相关的信息,所以它就在底部。我看到了建议使用“~3”的跟随线程,但是我应该从场景后面的所有查询中做些什么呢?是不是有更好的方法呢?

Searching phrases in Lucene

2 个答案:

答案 0 :(得分:1)

让你的查询提升标题高,描述中等和long_desc低的命中,如下所示:

title:intestine^100 description:intestine^10 long_description:intestine^1

此示例给出标题匹配分数“+100”,描述匹配分数“+10”,long_description匹配分数“+1”。首先排出较高的总提升分数。您可以为增强值选择任何您喜欢的数字。

答案 1 :(得分:0)