2017-07-03 65 views
0

過濾器我有以下格式的數據:elasticsearch_dsl:通過嵌套場

{_source:"@fields": { 
      "code": 200, 
      "relativeCreated": 5969784.005880356, 
      "process": 16, 
      "module": "run", 
      "funcName": "main", 
      "threadName": "MainThread", 
      "filename": "run.py", 
      "levelno": 20, 
      "processName": "MainProcess", 
      "lineno": 210, 
      "node": "4", 
      "thread": 19255376, 
      "package": 977, 

     } 
} 

我想要做的就是讓一個過濾器,只得到其中包977試圖做下列項目search.filter("term", **{'@fields.package': 937}) 但它似乎沒有過濾任何東西。

回答

0

如果該字段@fields嵌套,那麼你可能需要使用嵌套的過濾器,請檢查您的映射和確認有關字段類型,嵌套過濾器,你可以用這種方式實現:

search.filter("nested", path = '@fields' filter=F('term', '@fields.package': 937))