如何使用像Kibana中的elastic4s获得查询结果

时间:2018-04-19 08:48:42

标签: scala elastic4s

我试图用Elastic4s从ElasticSearch中提取个体。 我使用ES 5.5.1并使用http客户端连接到它。我想使用像Kibana获取搜索的ES查询

Kibana查询:

GET /crm/profiles/_search
{
  "query": {
    "terms": {
      "_id": [
        "40105"
      ]
    }
  }
}

我的代码的开头:

var customerId = "0231545"
var esQuery = """{"query":{"terms":{"_id":["""" + customerId + """"]}}}"""
val client = HttpClient(ElasticsearchClientUri(esHosts, 9200))

我发现了很多关于这个主题的帖子,但是任何人都可以工作或对应我的问题。一个想法可能是:

val resu = client.execute {
  search("crm/profiles").matchQuery("_id", customerId)
}

但它没有用,没有错误,resu是空的。

1 个答案:

答案 0 :(得分:0)

此处不要使用匹配查询,因为匹配查询将通过分析器运行查询。在您的kibana查询中,您使用了术语查询,因此您可以在此处使用相同的内容。

val resu = client.execute {
  search("crm/profiles").termQuery("_id", customerId)
}
相关问题