我正在使用旧版本的弹性搜索,但我找不到一种方法来允许像sql:'%%‘这样的完整like搜索
我必须搜索一个未知的数据,所以“列”是未知的。
例如。我有这个列和一个行的例子:
source,dest,message
eth0, eth1, DELIVERY 3015801: SUCCESS: DID在搜索表单中,用户编写如下内容:
+message:"delivery"
or
+message:"delivery" and +source:"eht0"成功返回该行。不幸的是,如果他们写道:
+message:"success"由于":“,它不返回任何行。
我需要允许用户写一些像这样的东西:
+message:"success*"这是提交的查询。我有timerange过滤器,然后是查询:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"range": {
"@timestamp": {
"from": 1561615860000,
"to": 1561619519000
}
}
}
]
}
},
"query": {
"bool": {
"should": [
{
"query_string": {
"query": "+message:\"success\""
}
}
]
}
}
}
},
"sort": [
{
"@timestamp": {
"order": "desc"
}
}
]
}有没有办法把我的文本搜索翻译成像sql这样的东西?
message like 'success%'谢谢。
发布于 2019-06-27 21:54:25
这是一个已分析的字段还是未分析的字段?也许prefix query就是你想要的。
但通常情况下:
LIKE搜索。https://stackoverflow.com/questions/56786067
复制相似问题