我知道如何在ElasticSearch中搜索完全匹配:
GET world/country/_search
{
"query": {
"match": {
"GAIN" : "10"
}
}
}
但我想做一个大于比较的数字,并将它与文本模式搜索结合起来。在SQL中我会写这个:
WHERE GAIN > 10 AND DESCRIPTIONLIKE '%good%'
如何在ElasticSearch中执行等效操作?
答案 0 :(得分:1)
要搜索GAIN > 10
,您需要Range query。
要搜索DESCRIPTION LIKE '%good%'
,您需要确保以对其进行标记的方式分析描述字段;然后你可以在它上面使用常规匹配查询,它会找到包含单词good
(但不是goodbye
的文档 - 取决于分析器,但我认为你想要字边界标记化)
要结合这两个条件,您需要Bool query。