elasticsearch查询操作(语句方式)_es模糊查询语句
warning:
这篇文章距离上次修改已过193天,其中的内容可能已经有所变动。
在Elasticsearch中,模糊查询通常使用match
查询或者wildcard
查询。match
查询会对查询的文本进行分析,并且支持多种分析器(如标准分析器),而wildcard
查询则是原生支持通配符查询。
以下是使用Elasticsearch DSL(Elasticsearch查询定义语言)的两种模糊查询方式的例子:
- 使用
match
查询进行模糊匹配:
{
"query": {
"match": {
"message": "quick brown fx"
}
}
}
在这个例子中,message
是字段名,"quick brown fx"
是查询的文本。Elasticsearch会对这段文本进行分析,并找到可能匹配的文档。
- 使用
wildcard
查询进行通配符匹配:
{
"query": {
"wildcard": {
"message": "*brown fx*"
}
}
}
在这个例子中,message
是字段名,"*brown fx*"
使用了通配符。星号*
可以匹配任何字符序列。找到任何包含brown fx
的文档,不区分大小写。
请注意,wildcard
查询性能不如match
查询,因为它不会利用Elasticsearch的分词和索引优化。通配符查询应该谨慎使用,只有当没有其他选项时才使用。
评论已关闭