作为ElasticSearch 5的用户,我一直在使用类似这样的方式在所有字段中搜索给定的短语:
GET /my_index/_search
{
"query": {
"match_phrase": {
"_all": "this is a phrase"
}
}
}
现在,_all字段消失了,match_phrase似乎不像query_string那样工作,您可以在其中简单地使用如下代码来搜索所有字段:
"query": {
"query_string": {
"query": "word"
}
}
在不使用6.0版中的_all字段的情况下,对所有字段进行精确短语搜索的替代方法是什么?
每个文档有很多字段,因此在查询中指定所有字段对我来说并不是一个解决方案。
答案 0 :(得分:0)
您可以在Elasticsearch文档https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-all-field.html中找到答案 它说:
使用自定义字段和映射copy_to参数
因此,您必须在源代码中创建自定义字段,并将所有其他字段复制到其中。