在ElasticSearch 6.4.3中的查询字符串中需要一些帮助

时间:2018-11-30 06:23:06

标签: elasticsearch

假设我要计算匹配结果的数量 POST / _count 以下是bodyJSON

{
  "size": "1",
  "from": "0",
  "track_scores": true,
  "sort": [
    {
      "employee_id": "asc"
    }
  ],
  "query": {
    "filtered": {
      "query": {
        "query_string": {
          "fields": [
            "content",
            "title"
          ],
          "query": "Winter is coming"
        }
      },
      "filter": {
        "range": {
          "employee_id": {
            "gte": "34222232"
          }
        }
      }
    }
  }
}

您知道以下代码中的代码含义吗?

        "query_string": {
          "fields": [
            "content",
            "title"
          ],
          "query": "Winter is coming"
        }

和这个

      "filter": {
        "range": {
          "employee_id": {
            "gte": "34222232"
          }
        }
      }

任何评论将不胜感激。谢谢

1 个答案:

答案 0 :(得分:0)

query_string查询可帮助您在多个字段中查找一些文本。在这种情况下,您正在Winter is comingcontent字段中搜索令牌title

    "query_string": {
      "fields": [
        "content",
        "title"
      ],
      "query": "Winter is coming"
    }

range查询是一个术语查询,可让您过滤某些字段的值。在这种情况下,您只考虑employee_id字段大于或等于gte

的文档(即34222232
  "filter": {
    "range": {
      "employee_id": {
        "gte": "34222232"
      }
    }
  }

这两者都意味着您要查找带有employee_id > 34222232且其titlecontent字段包含标记Winter is coming

的文档