我是 elasticsearch 的新手,我想索引一个 JSON 文件并从 elasticsearch 执行搜索查询
如果我将参数作为 "field3.innerfield" 传递,我如何索引这个 json 并执行查询以获取值:"someval"
我尝试使用 helpers.bulk 为该文件编制索引并进行搜索,但它返回所有字段而不是选定字段。
以下是 JSON 示例
[
{
"id": "someid",
"metadata": {
"docType": "value",
"otherfield": " ",
morefields
.
.
},
"field1":"value1",
"field2":"value2,
"field3": [
{
"innerfield": "someval",
"innerfield1":[
"kind of a paragraph"
]
}
],
"field4": [
{
"innerfield": "someval",
"innerfield1": "kind of a paragraph"
}
],
},
{ again the format repeats with different id but same fields
},
{
}
]
答案 0 :(得分:0)
您的问题不够清晰,但我的理解是您想从嵌套 json 的键中获取值。您可以通过以下方式执行此操作,如下所示。 对其进行多次解析并根据您的需要进行必要的更改。
import json
data = data.apply(lambda x: json.loads(json.loads(x).get("metadata","{}")).get("doctype") if x else None)