gpt4 book ai didi

elasticsearch - Elasticsearch query_string通配符语法

转载 作者:行者123 更新时间:2023-12-02 23:34:17 25 4
gpt4 key购买 nike

显然,我可以使用以下通配符query_string查询ES:

curl 'http://localhost:9200/my-index/_search?pretty' -d '{
"query": {
"query_string": {
"query": "*:sw?ft"
}
}
}'

此查询是否针对 _all字段?这等效于:
curl 'http://localhost:9200/my-index/_search?pretty' -d '{
"query": {
"query_string": {
"default_field" : "_all"
"query": "sw?ft"
}
}
}'

如果在索引中禁用了 _all怎么办?我找不到它的文档。

提前致谢。

最佳答案

将搜索命令设置为query_string *:sw?ft 将转换为以下内容(例如,假设my-index索引具有单个my_field字段):

(_field_names:sw?ft | _all:sw?ft | _index:sw?ft | _parent:sw?ft | _uid:sw?ft | _type:sw?ft | _routing:sw?ft | _version:sw?ft | _timestamp:sw?ft | _source:sw?ft | _size:sw?ft | my_field:sw?ft | _id:sw?ft | _ttl:sw?ft | _boost:sw?ft)

因此, :之前的通配符将扩展到索引中的所有字段,而不仅仅是您自己定义的字段。请特别注意 query_string中的通配符,它​​们会以不利的方式影响集群的性能。

因此,为回答您的问题, *将扩展为所有索引字段,包括 _all。如果只将sw?ft用作搜索字符串,则默认情况下将使用_all

关于elasticsearch - Elasticsearch query_string通配符语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33377228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com