solr - SOLR:如何使用 edismax 提升多个值的结果?
问题描述
我在 solr 中有这种类型的数据。
{
"MerchantId":"1",
"Name":"8055 Lace Top, Black / 10",
},
{
"MerchantId":"1",
"Name":"8055 Lace Top, Black / 12",
},
{
"MerchantId":"2",
"Name":"8055 Lace Top, Black / 10",
},
{
"MerchantId":"2",
"Name":"8055 Lace Top, Black / 12",
},
{
"MerchantId":"3",
"Name":"8055 Lace Top, Black / 10",
},
{
"MerchantId":"3",
"Name":"8055 Lace Top, Black / 12",
},
{
"MerchantId":"4",
"Name":"8055 Lace Top, Black / 10",
},
{
"MerchantId":"4",
"Name":"8055 Lace Top, Black / 12",
},
现在我想通过MerchantId提升结果所以我使用了下面的查询
"params":{
"q":"Name:black+top",
"defType":"edismax",
"_":"1590574183676",
"bq":"MerchantId:2^10"}
},
此查询按预期工作。但是如何提升 2 个或更多MerchantId呢?
eDismax还有可用的Boost参数,那么如何使用此参数以及可用的值是什么?
我们可以使用Boost参数来提升MerchantId吗?
解决方案
您可以尝试如下
http://localhost:8983/solr/TestDemo4/select?bq=MerchantId:2^10%20OR%20MerchantId:4^5%20OR%20MerchantId:3^3&defType=edismax&q=MerchantName:black%20top
以下是响应的样子:
{
"responseHeader":{
"zkConnected":true,
"status":0,
"QTime":2,
"params":{
"q":"MerchantName:black top",
"defType":"edismax",
"bq":"MerchantId:2^10 OR MerchantId:4^5 OR MerchantId:3^3"}},
"response":{"numFound":8,"start":0,"docs":[
{
"MerchantId":"2",
"MerchantName":"8055 Lace Top, Black / 10",
"id":"a4480fda-4290-465b-9df2-0b1a1ff85dc8",
"_version_":1667935688585117696},
{
"MerchantId":"2",
"MerchantName":"8055 Lace Top, Black / 12",
"id":"1c1c76b6-5db7-4175-bec9-48b19b01dfcb",
"_version_":1667935688585117697},
{
"MerchantId":"4",
"MerchantName":"8055 Lace Top, Black / 10",
"id":"6c8f9180-0d73-4e1e-9f03-d2d7c4f936d6",
"_version_":1667935688586166273},
{
"MerchantId":"4",
"MerchantName":"8055 Lace Top, Black / 12",
"id":"ea076d75-9ce7-4266-a110-ed78ac132e42",
"_version_":1667935688587214848},
{
"MerchantId":"3",
"MerchantName":"8055 Lace Top, Black / 10",
"id":"d99345d0-021f-4a29-bb94-57f2f6c00426",
"_version_":1667935688585117698},
{
"MerchantId":"3",
"MerchantName":"8055 Lace Top, Black / 12",
"id":"23fe84a4-b918-4836-a01d-677d62e1ff42",
"_version_":1667935688586166272},
{
"MerchantId":"1",
"MerchantName":"8055 Lace Top, Black / 10",
"id":"ecb42a06-b989-4cfe-aca4-bf5b5307857a",
"_version_":1667935688583020544},
{
"MerchantId":"1",
"MerchantName":"8055 Lace Top, Black / 12",
"id":"3025c18e-a839-49bc-917c-280c29dd8604",
"_version_":1667935688584069120}]
}
推荐阅读
- excel - 在概率列表中生成随机数,如果该行标记为“false”,则滚动失败
- php - 无法使用 PDO 从 PHP 将表情符号/表情符号保存在 MySQL 中,但可以从 cmd/phpmyadmin 插入它们
- c# - 对类型“IAuthorizeData”的引用声称它在“Microsoft.AspNetCore.Authorization”中定义,但找不到
- python - 如何找到小时数的日期?
- r - R - 从其他行中提取值
- sas - 如何将 SAS 代码转换为 SAS 宏?
- c# - 从客户端自动设置属性
- prometheus - Prometheus 2.x 限制内存使用
- javascript - 在我的 webpack npm 主项目的子项目中使用 config 和 node_modules
- google-sheets - 如何在允许多次迭代的同时使用 ISBLANK