ES 搜索 一个字段里面包含这个搜索内容,但是搜索不到。。

ES 一个type里面,有两条数据,根据其中一个字段查询。该字段为标签id字段
两条数据如下:
A数据(无法通过这个字段查询到):tag_ids ZHN0LXs5;7wJa0wm1;59NSi8Y8;
B数据(可以通过match查询到) tag_ids ZHN0LXs5;Z3kRIatY;7wJa0wm1;

A就怎么都查不到。。
请问大神,,该怎么解决啊。。

3个回答

找到问题根源了。。是ES库里面的字段是自动生成的。。不是keyword类型。。用keyword类型,然后用wildcardQuery 查询就可以了。。。text 确实会出现查询不到的情况

你这是要模糊查询:
代码:

boolQueryBuilder.must(QueryBuilders.matchPhraseQuery("tag_ids", "WN2nVRh8"));

restful:


{
"query": {
"bool": {
"must": [
{
"fuzzy": {
"tag_ids": {
"value": "WN2nVRh8"
}
}
}
],
"must_not": [ ],
"should": [ ]
}
},
"from": 0,
"size": 10,
"sort": [ ],
"aggs": { }
}
u011909918
有人把我昵称抢了 回复viewgroup: 我今天也碰到这种问题了,用正则解决了,你可以试试:queryBuilder.must(QueryBuilders.regexpQuery(key, value));
9 个月之前 回复
u011909918
有人把我昵称抢了 回复viewgroup: 那这个我就不清楚原因了,要是用restful是可以查的话,你试试换个版本包试试看行不行
10 个月之前 回复
viewgroup
viewgroup 回复u011909918: 我用上面的方法了。。还是不行。。。
10 个月之前 回复
u011909918
有人把我昵称抢了 回复viewgroup: 那就试试这里的8和9吧:https://blog.csdn.net/gxl0805/article/details/72871680
10 个月之前 回复
viewgroup
viewgroup 线上跑了一下,,没有用。。还是查上面的查不出来。。查下面的查得出来
10 个月之前 回复

你是否加入分词模板了?如果没分词,有可能搜索不到

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!