用了Elasticsearch,一口气上5T

ES wildcard不能支持特殊字符"|"的检索问题?

Elasticsearch | 作者 laoyang360 | 发布于2017年09月11日 | 阅读数:10226

如题,
当我进行wildcard检索的时候,
POST windex/wtype/_search
{
"query": {
"wildcard": {
"extra_search": "*|taga|"
}
},
"_source":
[
"extra_search"

]
}

如上方式不能检索到任何信息。
但实际上,我索引中数据如下extra_search字段:
"extra_search": """

test
测试

|taga|
"""

是存在的。

我的初步判定是 "|"检索匹配的时候不能识别为字符?

想得到确切的原因?
已邀请:

Cheetah

赞同来自:

这个问题我之前回答过,正则需要转义的,换成"\\|"
"extra_search": "*\\|taga\\|"

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

多谢回复。
我这边走的是模糊匹配,wildcard query,换成"extra_search": "*\\|taga\\|"。
换个思路,换成正则试试。

要回复问题请先登录注册