elasticsearch 在单个ElasticSearch查询中组合文本模式和大于比较的数值,elasticsearch,elasticsearch" /> elasticsearch 在单个ElasticSearch查询中组合文本模式和大于比较的数值,elasticsearch,elasticsearch" />

elasticsearch 在单个ElasticSearch查询中组合文本模式和大于比较的数值

elasticsearch 在单个ElasticSearch查询中组合文本模式和大于比较的数值,elasticsearch,elasticsearch,我知道如何在ElasticSearch中搜索精确匹配: GET world/country/_search { "query": { "match": { "GAIN" : "10" } } } 但我想做一个数值大于比较,并将其与文本模式搜索相结合。在SQL中,我会这样写: WHERE GAIN > 10 AND DESCRIPTIONLIKE '%good%' 如何在ElasticSearch中执行等效操作?要

我知道如何在ElasticSearch中搜索精确匹配:

GET world/country/_search
{
    "query": {
        "match": {
            "GAIN" : "10"
        }
    }
} 
但我想做一个数值大于比较,并将其与文本模式搜索相结合。在SQL中,我会这样写:

WHERE GAIN > 10 AND DESCRIPTIONLIKE '%good%'

如何在ElasticSearch中执行等效操作?

要搜索
增益>10
,您需要一个

要搜索像“%good%”这样的
描述,您需要确保以标记化描述字段的方式分析描述字段;然后,您可以对其使用常规匹配查询,它将查找包含单词
good
(但不是
再见
——取决于分析器,但我假设您需要单词边界标记化)的文档


要组合这两个条件,需要一个。

范围查询。但无法理解搜索字符串,即第二个字符串,您是否可以帮助编写查询这是一个常规匹配查询:
{“match”:{“description”:“good”}
,但您必须确保分析了描述字段。看看