[英]Range query on subfield array with elasticsearch
我正在嘗試使用不等於0的代碼來獲取所有服務,如果不執行多個查詢,我將找不到任何方法。 這是我要查詢的數據,在此先感謝您的幫助
"hits": [
{
"_index": "database_index",
"_type": "system",
"_id": "AV03gG7B3dd3_xKqi09H",
"_score": 1,
"_source": {
"name_id": "BOX",
"room_id": "63190",
"event": "SysMonitor",
"data": {
"ip": "192.168.60.25 \n",
"ns": "192.168.0.1\n",
"uptime": "3:12"
},
"services": {
"apache2": 1,
"gw-flash": 0,
"appmgr": 0,
"watchdog": 2,
"gui": 0,
"usb": 0,
"internet": 0
},
這是一個經典的全文搜索示例,其中您可以編寫一個非常復雜的查詢來解決此問題,或者您可以在索引時間對其進行優化,從而獲得非常便宜的查詢。 如果將數據模型更改為具有包含所有值為0
或1
的服務的字段,則可以輕松地進行搜索,即
services_zero: [gwflash, appmgr]
services_one: [ apache2 ]
突然,您的查詢可以輕松地針對這些字段進行搜索或匯總。
並不是說這將完全適合您的用例,但我認為值得在這里重新考慮數據建模策略。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.