Scala 如何在Elastic4s中创建查询
我正在图书馆里实现查询。但我不知道如何为Elasticsearch实现以下Json查询Scala 如何在Elastic4s中创建查询,scala,elastic4s,Scala,Elastic4s,我正在图书馆里实现查询。但我不知道如何为Elasticsearch实现以下Json查询 { "bool": { "must": [ { "match_all": {} }, { "keywordQuery": "hogehoge" } ] } } 我不知道如何实现Json查询的这一部分 { "keywordQuery": "hogehoge"
{
"bool": {
"must": [
{
"match_all": {}
},
{
"keywordQuery": "hogehoge"
}
]
}
}
我不知道如何实现Json查询的这一部分
{
"keywordQuery": "hogehoge"
}
这是我中途实现的代码
boolQuery().must(Seq(matchAllQuery(),query({keywordQuery:hogehoge})))
这是上面代码的输出
{
"bool": {
"must": [
{
"match_all": {}
},
{ "queryString": {
"query": "{keywordQuery": "hogehoge}"
}
}
]
}
}
我想
{
"keywordQuery": "hogehoge"
}
但实际上
{ "queryString": {
"query": "{keywordQuery": "hogehoge}"
}
}
你能帮我吗?我在ElasticSearch DSL文档中找不到关键字查询的参考,或者-也许你需要一个术语查询 (例如,在Logstash索引“文本”字段中,有一个未分析的子字段名为“.keyword”,因此,如果我执行“关键字查询”,我通常执行termQuery(“field.keyword”,“value)) 我认为您不需要包括matchAllQuery(),因为这有点意味着您从完整的结果集开始,因此您可以删除bool并将查询简化为:
{
"query": {
"term": {
"field.keyword": "value"
}
}
}
在Elastic4s中,这将是:
client.execute {
termQuery("field.keyword", "value")
}
谢谢你的回答。我确实误解了我需要的问题。