在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_fieldsetc,然后使用copy_to复制自己的所有字段值all_fields,现在,由于此自定义字段具有所有字段值,因此您可以使用它而不是_all字段。

以上是 在ElasticSearch 7+中,如何搜索所有文本字段? 的全部内容, 来源链接: utcz.com/qa/434543.html

回到顶部