我们在Elastic中存储来自外部系统的信息,因为JSON结构非常动态,我们希望能够对其执行搜索。我的要求是根据从Elastic检索的数据创建一个Excel模板。
现在我知道我可以在API查询体中使用**_source或fields**选项,根据JSON路径仅检索某些元素,但是否有方法也提供条件。我所说的条件是,例如,我们有多语言字段(见下文),它们具有相同的JSON路径,但我只想检索德语值。
"functionalNames": [
{
"languageCode": "de-DE",
"value": "DE value"
},
{
"languageCode": "fr-BE",
"value": "FR value"
},
{
"languageCode": "nl-BE",
"value": "NL value"
}
]
此外,我们还想做一些计算,如转换厘米米,克公斤等。我想这可以使用script_fields选项来完成,但我必须对此进行更多检查。
谢谢
我使用了这样的东西:
{
"query": {
"ids": {
"values": [
"id1",
"id2",
"id3",
"id4"
]
}
},
"fields": [
"functionalNames.value",
"JSONAttributePath1",
"JSONAttributePath2"
],
"_source": false
}
但我不知道如何申请条件。如果我在query参数中使用“language-code = de-DE”,我担心一些在索引中甚至没有此数据的结果可能无法检索,因此这不是一个选项。
1条答案
按热度按时间7nbnzgx91#
如果我正确理解了你的问题,你正在寻找执行查询,因为你提到应用 * 条件 *。
以下是如何搜索德语文档的示例: