首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ElasticSearch中编写搜索查询?

如何在ElasticSearch中编写搜索查询?
EN

Stack Overflow用户
提问于 2013-08-12 17:46:44
回答 1查看 1K关注 0票数 1

我使用Grails ElasticSearch插件,并希望使用以下查询:

代码语言:javascript
复制
"bool" : {
    "must" : {
        "term" : { "user" : "kimchy" }
    },
    "must_not" : {
        "range" : {
            "age" : { "from" : 10, "to" : 20 }
        }
    },
    "should" : [
        {
            "term" : { "tag" : "wow" }
        },
        {
            "term" : { "tag" : "elasticsearch" }
        }
    ],
    "minimum_should_match" : 1,
    "boost" : 1.0
}

使用Grails插件中的groovy,我将编写如下内容:

代码语言:javascript
复制
def res = userAgentIdentService.search() {
    "bool" {
        "must" {
            term("user" : "kimchy" )
        }
        "must_not"  {
            "range"  {
                age("from" : 10, "to" : 20 }
            }
        }
        "should" : [
            {
                term( "tag" : "wow" )
            }
            {
                term("tag" : "elasticsearch" )
            }
        ]
        "minimum_should_match" = 1
        "boost" = 1.0
    } 

}

我的查询不起作用!

  1. 我必须在哪里定义minimum_should_match,如何定义它?
  2. 我该怎么写“应该”用grails / groovy的方式表示方括号吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-13 08:18:11

我想你在你的搜索请求中遗漏了几个json级别。我认为如果不指定这是一个查询,您就不能使用该查询(它也可以是一个过滤器,甚至是其他一些东西)。查看groovy引用中的这个例子

代码语言:javascript
复制
def search = node.client.search {
    indices "test"
    types "type1"
    source {
        query {
            terms(test: ["value1", "value2"])
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18193358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档