【问题标题】:Elasticsearch 2.x to 5.x query issueElasticsearch 2.x 到 5.x 查询问题
【发布时间】:2018-08-07 03:53:15
【问题描述】:

以下查询需要从 2.x 版更改为 5.x 版。

filtered => bool

但应该不支持多个查询。

"query": {
    "filtered": {
        "query": {
            "match_all": {}
        },
        "filter": {
            "bool": {
                "must": [{
                    "query": {
                        "match": {
                            "valid": "Y"
                        }
                    }
                }],
                "should": [
                    { "query": { "wildcard": { "name": { "value": '*' + searchValue + '*' } } } },
                    { "query": { "wildcard": { "fisrtname": { "value": '*' + searchValue + '*' } } } }   
                ]
            }
        }
    }
},
"sort": [{
    "name": {
        "order": "asec"
    }
}],
"from": 0,
"size": 15

【问题讨论】:

    标签: elasticsearch elasticsearch-5 elasticsearch-2.0


    【解决方案1】:

    类似这样的:

    {
      "query": {
        "bool": {
          "filter": {
            "bool": {
              "must": [
                {
                  "match": {
                    "valid": "Y"
                  }
                }
              ],
              "should": [
                {
                  "wildcard": {
                    "name": {
                      "value": "searchValue"
                    }
                  }
                },
                {
                  "wildcard": {
                    "firstname": {
                      "value": "searchValue"
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "sort": [
        {
          "name": {
            "order": "asc"
          }
        }
      ],
      "from": 0,
      "size": 15
    }
    

    第一个 bool.filter 包装器是这样的,所以所有内容都被视为过滤器,不计分并且可能被缓存。

    【讨论】:

    • 感谢它的工作。但唯一的问题是排序。
    • 我更正了答案,排序的字段名称不正确。
    • 不,它仍然不起作用。 新版本中的排序发生了变化,它不像 v2.x 那样工作。在新版本中,它说我们需要更改关键字的映射。 ref : [elastic.co/guide/en/elasticsearch/reference/current/…
    猜你喜欢
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    相关资源
    最近更新 更多