有个人长的像洋葱,走着走着就哭了…….

搜索时如果只是一个#或% 的特殊字符,无法搜索到结果

Elasticsearch | 作者 lxh | 发布于2019年03月29日 | 阅读数:1624

搜索时如果只是一个#或% 的特殊字符,无法搜索到结果;但是如果加上其他字符则可以,比如只是#号则不可以,但如果是c#或者#1212则可以搜索到结果
已邀请:

bellengao - 博客: https://www.jianshu.com/u/e0088e3e2127

赞同来自:

因为这些特殊字符经过analyze后被过滤掉了,不会生成term,因此也就没有了倒排索引,所以查不到;但是c#, #1212经过analyze后会生成term: c, 1212, 所以能搜索到;可以使用_analyze api查看分词结果

God_lockin

赞同来自:

有可能是因为带#和%的不被分词,直接和后面的内容和在一起了
http://localhost:9200/_analyze
{
"analyzer": "whitespace",
"text": "#a"
}
{
"tokens":[
{
"token":"#a",
"start_offset":0,
"end_offset":2,
"type":"word",
"position":0
}
]
}

要回复问题请先登录注册