Elasticsearch return searched word

前端 未结 2 737
清酒与你
清酒与你 2021-01-03 11:09

I am using fuzzy and want elasticsearch to return the searched word not just the hit. When i am searching for the word dogo and my fuzzy search fi

2条回答
  •  天命终不由人
    2021-01-03 11:22

    You could use named queries for this, by giving a name to each of your queries. In the results, each hit will feature a matched_queries array containing the names of the queries that matched (e.g. dogo and fox below).

    {
      "query": {
        "bool": {
          "should": [
            {
              "fuzzy": {
                "name": {
                  "value": "dogo",
                  "_name": "dogo"
                }
              }
            },
            {
              "fuzzy": {
                "name": {
                  "value": "fox",
                  "_name": "fox"
                }
              }
            }
          ]
        }
      },
      "highlight": {
        "fields": {
          "title": {
            "pre_tags": [
              "===>"
            ],
            "post_tags": [
              "<==="
            ],
            "fragment_size": 200,
            "number_of_fragments": 100
          }
        }
      }
    }
    

提交回复
热议问题