我试图用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是空的。
答案 0 :(得分:0)
此处不要使用匹配查询,因为匹配查询将通过分析器运行查询。在您的kibana查询中,您使用了术语查询,因此您可以在此处使用相同的内容。
val resu = client.execute {
search("crm/profiles").termQuery("_id", customerId)
}