Elasticsearch或条件这种写法为什么查不出数据?
我想搜类似 select * from table where title like "%中国行%" or doc_content like "%中国行%";
下面这句有啥问题吗?查不出内容。
192.168.33.10:9200/test/_search?pretty
{
"query": {
"bool": {
"should": [
{
"term": {
"title": "中国行"
}
},
{
"term": {
"doc_content": "中国行"
}
}
]
}
}
}
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 0,
"max_score": null,
"hits": []
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
term是精确匹配,达不到mysql中like的效果,如果你要模糊匹配,应该用match,match会对文本进行分词然后匹配查询:
192.168.33.10:9200/test/_search?pretty
{
}