返回弹性搜索中匹配的字段

时间:2020-04-27 19:26:35

标签: elasticsearch elasticsearch-dsl

我正在尝试查找与返回的文档具体匹配的搜索内容。

例如我有一个表索引,其中有名为table_name和column_name的字段... 我的搜索查询正在查找这两个字段,现在,如果我触发搜索查询并且其中任何一个都被匹配,但我想知道匹配的是什么..无论是column_name还是table_name。

我知道Explain API,但这将要求我调用另一个API ...

1 个答案:

答案 0 :(得分:3)

您不需要调用说明API。搜索API支持explain标志

GET stackoverflow/_search?explain=true

这将返回_explanation部分和_source部分。

更新

另一种解决方案是使用highlight。我以前曾用它来手动评估查询。这是一种获取有关匹配项的反馈的简便方法

GET stackoverflow/_search
{
  "query": {
    "match": {
      "FIELD": "TEXT"
    }
  },
  "highlight": {
    "fields": {
      "*": {}
    }
  }
}

当然,您也可以设置解释标志

相关问题