在elasticsearch中使用通配符按哈希字符搜索
Search by hash character using wildcard in elasticsearch
我正在使用 elasticsearch 6.0,我想查找所有对象,从散列字符 #
开始。我执行以下查询
{
"bool" : {
"must" : [
{
"wildcard" : {
"message" : {
"wildcard" : "#*",
"boost" : 1.0
}
}
}
],
"adjust_pure_negative" : true,
"boost" : 1.0
}
}
我得到了空结果。 #
char 似乎是通配符中的特殊字符。你能帮我解决这个问题吗?
您用于 message
的字段数据类型是什么?默认情况下 string
对字符串进行分词,使用散列等字符进行分词。如果您想使用散列进行搜索,则可以将分词器更改为 whitespace
,请参阅:https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-whitespace-tokenizer.html
我正在使用 elasticsearch 6.0,我想查找所有对象,从散列字符 #
开始。我执行以下查询
{
"bool" : {
"must" : [
{
"wildcard" : {
"message" : {
"wildcard" : "#*",
"boost" : 1.0
}
}
}
],
"adjust_pure_negative" : true,
"boost" : 1.0
}
}
我得到了空结果。 #
char 似乎是通配符中的特殊字符。你能帮我解决这个问题吗?
您用于 message
的字段数据类型是什么?默认情况下 string
对字符串进行分词,使用散列等字符进行分词。如果您想使用散列进行搜索,则可以将分词器更改为 whitespace
,请参阅:https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-whitespace-tokenizer.html