gpt4 book ai didi

java - Solr 在组合查询中按分数排序

转载 作者:行者123 更新时间:2023-12-01 18:57:50 26 4
gpt4 key购买 nike

我使用 3 个参数运行 Solr 查询,并且希望结果按与其中一个参数的相关性(而不是按与参数组合的相关性)排序。

示例:

SolrQuery solrQuery = new SolrQuery();
solrQuery.add("title", "some title");
solrQuery.add("date", "some date");
solrQuery.add("description", "some description");

solrQuery.addSortField("score", SolrQuery.ORDER.desc);

查询结果将按标题+日期+描述组合的相关性排序,但我只需要按标题评分。

我该怎么做?

附注我使用 Solr 4.0 BETA

最佳答案

由于您仅按一个字段对相关性进行评分,因此您可以将搜索限制在“qf”(查询字段)中的该字段。

编辑或添加到 solrconfig.xml 中的现有 requestHandler

<requestHandler name="/relevant_by_one_field" class="solr.SearchHandler">
<lst name="defaults">
<str name="defType">edismax</str>
<str name="qf">title</str>
</lst>
</requestHandler>

您还可以在“qf”参数中指定特定的提升,但在单个查询字段的情况下,提升不会执行任何操作,因为提升仅在其他字段的上下文中相关。

下面是一个搜索多个字段的示例,然后对“标题”中找到的结果进行最高评分。

<requestHandler name="/relevant_by_multiple_field" class="solr.SearchHandler">
<lst name="defaults">
<str name="defType">edismax</str>
<str name="qf">title^2 description^0.7 date^0.5</str>
</lst>
</requestHandler>

关于java - Solr 在组合查询中按分数排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13340495/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com