2016-08-04 53 views
0

好了,所以我用很多领域与QF,如:solr如何在查询中正确使用提升因子?

[qf] => frpId^5 fundraise_title^3 fundraiser_display_name^3 charity_name^2 participantFname^2 participantLname^2 participantEmail^1 groupName^3 fundraise_text^ fundraiseTitleExact^15 fundraiserDisplayNameExact^15 charityNameExact^15 participantFnameExact^10 participantLnameExact^10 groupNameExact^10 all^ 

,但我真的希望该字段fundraiseTitleExact精确匹配是在上面。

利用qf的这个以前成立,他们都在位置32

比方说,我提高fundraiseTitleExact像:

[qf] => frpId^5 fundraise_title^3 fundraiser_display_name^3 charity_name^2 participantFname^2 participantLname^2 participantEmail^1 groupName^3 fundraise_text^ fundraiseTitleExact^15000000000000000 fundraiserDisplayNameExact^15 charityNameExact^15 participantFnameExact^10 participantLnameExact^10 groupNameExact^10 all^ 

但即使现在fundraiseTitleExact精确匹配是只在位置27(5个位置)并且不会上移。

我怎样才能在剩下的这一领域的优先级?

+0

升压只有场和尝试'QF = fundraise_text fundraiseTitleExact^15 fundraise_title' – vinod

回答

0

这看起来更像是一个调整的问题,但是你有几种选择:

  1. 优化您的相关修改所有的提升,直到你得到预期的结果(我建议用比下提升工作那些在你的问题,然后增加最重要的领域的推动);

  2. 如果您正在使用edismax query parse r那么您可能需要检查bq和bf参数以提高您的术语;

  3. 如果糟糕来最糟糕的,你可以使用Query Elevation Component把一些项目在列表的顶部。

我建议阅读下列书开阔的Solr的知识,提高和相关机制:

+0

我用BQ提高特定领域的搜索,它是工作篦;谢谢。 –