0

搜索时如何设置priority字段Lucene .Net

例如我有:

Item 1
         field 1 =contain "search text"
         field 2 ="bla bla"
Item 2
         field 1 = "loren ipsun"
         field 2 = contain "search text"

我应该如何处理结果,最重要的项目:列表中的第 1 项,第 2 项,等等。

4

1 回答 1

1

我想我理解你的问题。您希望特定字段的命中率比另一个字段的命中率更高,为此您可以使用 BoostFactor。您可以提升用于在字段一中搜索的查询。例如,如果您使用 Query qryName = queryParser.parse(keyword) 您可以执行以下操作:

qryName.SetBoost(1000f);

这将提高您在该查询中指定的搜索特定部分的点击率。因此,您应该对这两个字段使用 2 个查询,并提升您在其中搜索字段 1 的第一个查询。您可以改变提升因子,直到适合您的需要。

希望这可以帮助 ;)

于 2013-04-18T13:10:46.233 回答