0

我想搜索这句话。

title: Change my room!
description: I change my desk and chair. These make my room more beautiful! 

我想搜索每个部分、标题、描述的用户查询。我在服务器端制作查询语法。例如,当用户发送查询时,

query: change desk chair

然后服务器像这样

{
  "query": {
    "bool": {
      "should": [
        {
          "bool": {
            "must": [
              {
                "match_phrase": {
                  "description": "change"
                }
              },
              {
                "match_phrase": {
                  "description": "desk"
                }
              },
              {
                "match_phrase": {
                  "description": "chair"
                }
              }
            ]
          }
        },
        {
          "bool": {
            "must": [
              {
                "match_phrase": {
                  "title": "change"
                }
              },
              {
                "match_phrase": {
                  "title": "desk"
                }
              },
              {
                "match_phrase": {
                  "title": "chair"
                }
              }
            ]
          }    
        }
      ]   
    }
  }
}

我可以缩短这个查询语法吗?

4

1 回答 1

-1

您可以使用 query_string 或 match 查询来执行此操作。

例子:

curl -XPOST 'localhost:9200/_search?pretty' -d '
{
      "query": { "match": { "_all": "Change my room" } }
}'

或者

curl -XPOST 'localhost:9200/_search?pretty' -d '{
      "query": { "query_string": { "query": "Change my room" } }
}'
于 2018-04-02T08:04:43.137 回答