我在 Elasticsearch 中索引的檔案內部包含一個陣列,如下所示。
"creditScoreTenantResults.123456789X.creditScore": [
73.72
],
"creditTenants.address.country.keyword": [
"country1"
],
"creditScoreTenantResults.123456789X.personalId.keyword": [
"123456789X"
],
"creditUuid.keyword": [
"9d7ba281-2602-42f7-aae7-40c802ede21c"
],
我實作了以下查詢。
POST http://localhost:56677/csm/_search?pretty
Content-Type: application/json
{
"query": {
"query_string": {
"query": "creditScoreTenantResults.123456789X.creditScore :>10"
}
},
"fields": ["*"]
}
效果很好,但實際上我想問的問題實際上更像是“給我所有大于 10 的信用評分”,所以我在閱讀以下內容時將查詢字串轉換為“creditScoreTenantResults.*.creditScore :>10”發布它應該作業。
不幸的是,Elasticsearch 報告了決議例外,抱怨通配符版本它可以從 ':>10' 中識別 ':',我提到的帖子是否正確?這個查詢可能嗎?
如果是,我該如何制定它?
PS。我正在使用 Elasticsearch 7.16,可能無法使用它,我必須使用 ES8?
謝謝回答。
uj5u.com熱心網友回復:
query_string 查詢使用Lucene 查詢語言,所以你的范圍條件應該是這樣的:
creditScoreTenantResults.\*.creditScore:{10 TO *}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/448760.html
標籤:弹性搜索
上一篇:回圈選擇選擇器選項
