在ElasticSearch 7+中,如何搜索所有文本字段?
我想在我存储在Elasticsearch 7.3中的文档中搜索单词
我想要在以前版本的Elasticsearch上工作的示例是:
{ "query": {
"bool": {
"must": [
{
"match": {
"_all": "oliver"
}
}
],
"must_not": [],
"should": []
}
},
"from": 0,
"size": 10,
"sort": [],
"aggs": {}
}
但是此查询不适用于Elasticsearch 7+,因为_all
已删除。现在该_all
字段消失了,我该如何编写查询以完成相同的任务?
注意:我已经阅读了copy_to
将所有字段复制到自定义字段中的建议,但是这要求显式地写出每个字段以包括在all_fields字段中。由于我有很多小字段,因此我试图避免这种情况,而是复制能够查询_all的行为。
回答:
ES文档中提到了它。
_all可能不再为在6.0+中创建的索引启用,请使用自定义字段和映射copy_to参数
因此,您需要做的是创建自己的自定义_all
字段,您可以将其命名为all_fields
etc,然后使用copy_to复制自己的所有字段值all_fields
,现在,由于此自定义字段具有所有字段值,因此您可以使用它而不是_all
字段。
以上是 在ElasticSearch 7+中,如何搜索所有文本字段? 的全部内容, 来源链接: utcz.com/qa/434543.html