如何在elasticsearch中计算过滤后的分数

rqdpfwrv  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(0)|浏览(287)

我想分数计算后,过滤器应用。现在,计算分数时要考虑索引中的所有文档。和其他实体文件干扰分数计算,我不想。例:我有多家商店,每个商店的商品都应该单独计分。
我尝试了score\u函数,但无法使其工作。单独索引存储区中的项目可以解决此问题,但存储区可以是数千个。
每个商店可以有数千到200000个文档。商店最多可以有。10000可以更多,客户可以创造他们想要的。

{
  "bool": {
    "should": [{
      "match": {
        "normalized_tokens": {
          "query": "Where can i find the chocolate",
          "analyzer": "custom_analyzed_document_search",
          "operator": "or"
        }
      }
    }, {
      "match": {
        "normalized_tokens": {
          "query": "find chocolate",
          "analyzer": "custom_analyzed_document_search",
          "operator": "or"
        }
      }
    }, {
      "term": {
        "document": "Where can i find the chocolate"
      }
    }],
    "filter": [{
      "bool": {
        "should": [{
          "terms": {
            "department_id": []
          }
        }, {
          "terms": {
            "store_id": [1,2,3]
          }
        }]
      }
    }]
  }
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题