你不会是程序猿吧?

es模糊查询查询不到数据

Elasticsearch | 作者 sunsl516 | 发布于2018年08月31日 | 阅读数:14188

  
{
index: 'frontlog-*',
type: 'applogs',
// q: 'test',
body: {
sort: [{ '@timestamp': { order: 'desc' } }],
size: 2,
from: 0,
query: {
bool: {
filter: {
range: {
'@timestamp': {
gt: 'now-1M'
}
}
},
must: {
match: {
currentUrl: '3005'
}
}
}
}
}
}

如上查询条件,用3005可以查出来数据,而用30反而就查不出了, 请问是什么原因导致的啊
已邀请:

rochy - rochy_he

赞同来自:

currentUrl 的内容是什么? 
使用的什么分词器?

elasticStack - 90后it大数据男

赞同来自:

3005还能被拆成3,30,300,0,00,005,05吗??,如果是字符串3005,那么建议使用prefix,数值类型的3005,你查30肯定查不出来的?能查出来请通知我一声,学习一下

elasticStack - 90后it大数据男

赞同来自:


可以试一下以下查询
{
"query": {
"wildcard": {
"currentUrl.keyword": {
"value": "*30*"
}
}
}
}

要回复问题请先登录注册