1

我正在使用 Solr 版本 7.3.0。其中的文档具有标题、描述、内容、日期等字段。搜索条件就像,第一优先级是标题字段,然后是描述字段,最后是内容字段。之后,我在日期字段上应用排序。所以结果好坏参半。我希望结果首先根据按日期排列的标题字段,然后按日期排列的描述,然后按日期排列的内容。找不到如何实现这一点?

4

1 回答 1

0

qf参数引入了一个字段列表,每个字段都分配有一个提升因子,以增加或降低该特定字段在查询中的重要性。例如,下面的查询:

qf="fieldOne^2.3 fieldTwo fieldThree^0.4"

在你的情况下,它会是

qf="title^10 description^7 content^5"

qf="title^10 description^5 content"

指定title提升为 10,description提升为 7,content提升为 5,或者可以保留为空白,它将视为默认值。这些提升因素使得匹配title比描述匹配更重要,而描述匹配又比内容匹配更重要。

您的 solr 请求将如下所示

http://localhost:8983/solr/collectionName/select?defType=dismax&q=video&qf=title^10 description^5 content

或者

bq=title:text^10 description:text^7 content:text^5.

您可以像上面的 to 字段一样添加提升,它会在这些字段上赋予权重。

请参阅 solr 文档页面上的更多信息。 Solr 文档

于 2020-03-16T12:09:21.313 回答