Elasticsearch词条过滤器不工作?

kgsdhlau  于 2023-05-28  发布在  ElasticSearch
关注(0)|答案(2)|浏览(148)

我正在尝试做以下术语过滤器

{
  "query": {
    "term": {
      "name": "terry harvey"
    }
  }
}

我的搜索结果是0

{
  took: 3
  timed_out: false
  _shards: {
  total: 5
  successful: 5
  failed: 0
}
hits: {
    total: 0
    max_score: 0
    hits: [ ]
  }
}

当我使用“匹配过滤器”而不是“术语过滤器”时,我得到了48个点击。
我做错了什么?=(
谢谢!

bzzcjhmw

bzzcjhmw1#

术语查询和过滤器不会被分析,这意味着它们只会找到精确的匹配。另一方面,匹配查询被分析,并且您的名称字段也可能被分析。更多信息在这里。

lhcgjxsq

lhcgjxsq2#

我正在使用ElasticSearch 8.7并将查询更改为

{
    "query": {
        "bool": {
            "filter": {
                "term": {
                    "name.keyword": "terry harvey"
                }
            }
       }
    }
}

成功了
字段名称的Map为

{
      "type": "text",
      "fields": {
        "keyword": {
          "type": "keyword",
          "ignore_above": 256
        }
      }
    }

相关问题