使用突出显示搜索所有字段

时间:2015-12-08 16:42:47

标签: elasticsearch elasticsearch-2.0

我最近使用Elasticsearch 2,并希望请求查询所有文本字段。

GET myindex/mydata/_search
{
  "query": {
    "simple_query_string": {
      "query": "Raketenfahrrad"
    }
  },
  "highlight": {
    "fields": [ { "*": {} } ]
  }
}

查询返回预期结果但没有任何突出显示。我经历过,当我手动缩小搜索范围fields时,我会突出显示:

{
  "query": {
    "simple_query_string": {
      "query": "Raketenfahrrad",
      "fields": ["MainTitle","SubTitle","Author","Content"]
    }
  },
  "highlight": {
    "fields": [ { "*": {} } ]
  }
}

但这不符合我的要求“全部搜索”,并且在将下一个新属性添加到mydata类型时会失败。

1 个答案:

答案 0 :(得分:3)

ES 2.0 ,突出显示将在查询字段中执行 ,您必须将require_field_match选项设置为falseHere是更改的链接

试试这个

{
  "query": {
    "simple_query_string": {
      "query": "Raketenfahrrad"
    }
  },
  "highlight": {
    "fields": {
      "*": {}
    },
    "require_field_match" : false
  }
}