我有一個多值的欄位。那么我們如何對這樣的欄位運行查詢呢?
假設“銀行”檔案有一個欄位“城市”,代表城市銀行存在。
如果我必須獲取一組城市中任何一個城市的所有銀行,哪種查詢會有所幫助?
我試過 matchQuery 但它給出了錯誤:
def searchByCities(cities: Seq[String]) = {
client.execute {
search("bank").matchQuery("cities", cities)
}.await
}
錯誤:
{"error":{"root_cause":[{"type":"parsing_exception","reason":"[match] unknown token [START_ARRAY] after [query]","line":1,"col":43}],"type":"parsing_exception","reason":"[match] unknown token [START_ARRAY] after [query]","line":1,"col":43},"status":400}
uj5u.com熱心網友回復:
假設您的城市被索引為關鍵字,您可以使用術語查詢。
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-query.html
我自己沒有使用過 elastic4s,但如果我理解正確的話,語法應該是這樣的:
search("bank").query(termsQuery("cities", cities))
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/320932.html
上一篇:ElasticSearch和OpenSearch之間的主要區別是什么?
下一篇:如何在陣列上創建范圍查詢
