数据集合:

模糊查询前缀开始字符j
GET /mydb/_search
{
"query": {
"prefix": {
"name": "j"
}
}
}
模糊查询
?用来匹配1个任意字符,*用来匹配零个或者多个字符
GET /mydb/_search
{
"query": {
"wildcard": {
"postcode": "c??"
}
}
}
模糊查询
?用来匹配1个任意字符,*用来匹配零个或者多个字符
GET /mydb/_search
{
"query": {
"wildcard": {
"name.keyword": "ch??g*y*"
}
}
}
正则表达式 匹配c后面2个任意字符
GET /mydb/_search
{
"query": {
"regexp": {
"name.keyword": "c[a-z]{1,2}"
}
}
}
查询结果
{
"hits": {
"total": 1,
"max_score": 1,
"hits": [
{
"_index": "mydb",
"_type": "external",
"_id": "X543w2IBJNOIwaI4YLwQ",
"_score": 1,
"_source": {
"name": "chy",
"age": 28,
"date": "2018-04-11 13:01:01"
}
}
]
}
}
本文介绍了如何在Elasticsearch中进行模糊查询和正则表达式匹配。通过示例展示了使用前缀查询、通配符查询以及正则表达式来查找以特定字符开头的数据,并详细解释了?和*在模糊查询中的作用,以及正则表达式匹配c后面两个任意字符的方法。
-模糊匹配和正则表达式&spm=1001.2101.3001.5002&articleId=80104200&d=1&t=3&u=2c6f618fbfd14c32aa4cfc1fb9fed797)
4643

被折叠的 条评论
为什么被折叠?



