我正在使用elasticsearch 6.0,我想查找所有对象,从哈希查询#
开始。我执行以下查询
{
"bool" : {
"must" : [
{
"wildcard" : {
"message" : {
"wildcard" : "#*",
"boost" : 1.0
}
}
}
],
"adjust_pure_negative" : true,
"boost" : 1.0
}
}
我得到null结果。似乎#
char是通配符中的特殊字符。你能帮我解决这个问题吗?
答案 0 :(得分:2)
您用于Activity B
的字段数据类型是什么?默认情况下,message
会对字符串进行标记,并使用哈希等字符进行标记化。如果您想使用哈希进行搜索,那么您可以将标记生成器更改为string
,请参阅:https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-whitespace-tokenizer.html