elasticsearch 在单个ElasticSearch查询中组合文本模式和大于比较的数值
我知道如何在ElasticSearch中搜索精确匹配:
elasticsearch 在单个ElasticSearch查询中组合文本模式和大于比较的数值,
elasticsearch,
elasticsearch,我知道如何在ElasticSearch中搜索精确匹配: GET world/country/_search { "query": { "match": { "GAIN" : "10" } } } 但我想做一个数值大于比较,并将其与文本模式搜索相结合。在SQL中,我会这样写: WHERE GAIN > 10 AND DESCRIPTIONLIKE '%good%' 如何在ElasticSearch中执行等效操作?要
GET world/country/_search
{
"query": {
"match": {
"GAIN" : "10"
}
}
}
但我想做一个数值大于比较,并将其与文本模式搜索相结合。在SQL中,我会这样写:
WHERE GAIN > 10 AND DESCRIPTIONLIKE '%good%'
如何在ElasticSearch中执行等效操作?要搜索
增益>10
,您需要一个
要搜索像“%good%”这样的描述,您需要确保以标记化描述字段的方式分析描述字段;然后,您可以对其使用常规匹配查询,它将查找包含单词good
(但不是再见
——取决于分析器,但我假设您需要单词边界标记化)的文档
要组合这两个条件,需要一个。范围查询。但无法理解搜索字符串,即第二个字符串,您是否可以帮助编写查询这是一个常规匹配查询:{“match”:{“description”:“good”}
,但您必须确保分析了描述字段。看看