为什么 ElasticSearch 不显示分数?

Why does ElasticSearch is not showing the score?

我在 Ubuntu 16.04 上使用 ElasticSearch 2.3.1。

映射为:

{
    "settings": {
        "analysis": {
            "filter": {             
                "2gramsto3_filter": {
                    "type":     "ngram",
                    "min_gram": 2,
                    "max_gram": 3
                }                
            },        
            "analyzer": {
                "2gramsto3": {
                    "type":      "custom",
                    "tokenizer": "standard",
                    "filter":   [
                        "lowercase",
                        "2gramsto3_filter"
                    ]
                }
            }
        }
    },  
    "mappings": {
        "agents": {
            "properties": {                             
                "presentation": {
                    "type": "string",
                    "analyzer": "2gramsto3"                 
                },
                "cv": {
                    "type": "string",
                    "analyzer": "2gramsto3"                 
                }
        }
    }
}

查询是:

{
  "size": 20,
  "from": 0,
  "query": {
    "bool": {
      "filter": [
        {
          "bool": {
            "must": [
              [
                {
                  "match": {
                    "cv": "folletto"
                  }
                },
                {
                  "match": {
                    "cv": " psicologia"
                  }
                },
                {
                  "match": {
                    "cv": " tenacia"
                  }
                }
              ]
            ]
          }
        }
      ]
    }
  }
}

它找到了 14567 个文档,但分数是 总是 "_score": 0

我看到过滤器有分数,那么,为什么在这种情况下没有?

谢谢!

不计算过滤器的分数。如果需要分数,则需要使用普通查询。

只需考虑以下文档中指出的含义即可。 参考文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-filter-context.html