首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写一个elasticsearchservice.search(闭包查询,参数,过滤器)?

如何编写一个elasticsearchservice.search(闭包查询,参数,过滤器)?
EN

Stack Overflow用户
提问于 2018-07-02 11:05:24
回答 1查看 176关注 0票数 0

我正在尝试实现对grails应用程序的弹性搜索。我使用grails3.3.6版本,gradle包装3.1,插件为2.4.0,弹性搜索版本为5.4.1。在弹性搜索服务类中,我很难通过搜索方法的参数。"elasticsearchservice.search(Closure查询、params、filter)

我正在传递像这样的参数,并在

匹配

代码语言:javascript
复制
elasticSearchService.search({match(fields: ["title", "description"],
                query: q,fuzziness:'4',fuzzy_prefix_length:1)}, null,[indices: Book, types: Book, score: true])

实际上,在这里,我试图使用匹配与模糊性,我尝试与基巴纳和邮递员_search使用elasticsearch。它在那里工作。

代码语言:javascript
复制
POST /books/code/_search
{
  "query": {
    "match": {
      "author": {
        "query": "keeen",
        "fuzziness": 4,
        "prefix_length": 1
      }
    }
  }
}

我希望在控制台中为我的应用程序生成的查询提供相同的结构。但是,我在控制台中生成的应用程序查询结构是

代码语言:javascript
复制
"query" : {
    "query_string" : {
      "query" : "grails",
      "fields" : [ ],
      "use_dis_max" : true,
      "tie_breaker" : 0.0,
      "default_operator" : "and",
      "auto_generate_phrase_queries" : false,
      "max_determinized_states" : 10000,
      "enable_position_increments" : true,
      "fuzziness" : "AUTO",
      "fuzzy_prefix_length" : 0,
      "fuzzy_max_expansions" : 50,
      "phrase_slop" : 0,
      "escape" : false,
      "split_on_whitespace" : true,
      "boost" : 1.0
    }
  }

我将如何在那里得到我期望的查询?有谁能帮帮我吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-23 15:11:39

试试下面的代码:

代码语言:javascript
复制
elasticSearchService.search([indices: Book, types: Book, score: true],
{
   "match" {
     "author"(query: "keen", "fuzziness": 4, "prefix_length": 1)
   }
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51134717

复制
相关文章

相似问题

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