私はelastic4s 1.5.10を使用しており、elasticsarch RESTエンドポイントで準備したクエリを構築しようとしています. 今、elastic4s DSL に書き直そうとしています。
POST /index_name/type/_search
{
"_source":{"include":["name","surname"]},
"query": {
"bool": {
"must": [
{
"more_like_this": {
"fields": ["desc"],
"ids": ["472825948"],
"min_term_freq":0,
"max_query_terms":200
}
},
{
"match": {"city": "London"}
},
{
"match": {"operation": "add"}
}
]
}
}
}
このクエリの目的は、同じ都市 (ロンドン) で同じ操作 (追加) を行う 472825948 に類似したアイテムを取得することです。
Elastic4sでの私の試みは次のとおりです。
es_client.execute{
search in s"$storage_folder/${typ.name()}" query bool(
must(
morelike id adId in s"$storage_folder/${typ.name()}" fields("desc") minTermFreq(0) maxQueryTerms(200),
matchQuery(field="city",value = "London"),
matchQuery(field="operation",value = "add"))
)sourceInclude("name","surname")
}
}
この文脈では「より似ている」は機能しません。生のjsonのクエリが意味をなさないか、elastic4sがこれをサポートしていないか...
誰か助けてくれませんか?
どうも