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