gpt4 book ai didi

elasticsearch - 通过非映射/可搜索对象属性有效地对结果进行排序

转载 作者:行者123 更新时间:2023-12-03 02:29:06 25 4
gpt4 key购买 nike

在当前称为items的索引中,我先前已通过特定对象属性的某些属性值对查询结果进行排序,让我们将此属性称为oprop。我意识到,随着oprop中的每个新键的增加,items索引上已使用字段的总数增加了,我不得不更改索引上的映射。因此,我将oprop的映射设置为dynamic : false,因此oprop的键不再可搜索(未索引)。

现在,在一些查询中,我需要按oprop键的值对items索引中的结果进行排序。我不知道ElasticSearch如何仍然可以让我对这些键值进行排序。

我需要使用脚本进行排序吗?使用脚本时是否可以访问未索引的数据?

不知何故,我认为这不是一个好方法,而且我认为从长远来看,我会遇到性能问题。

最佳答案

您可以使用脚本进行排序,因为数据将存储在_source字段中,但这应该是最后的选择。如果知道哪些字段需要排序,则可以将其添加到映射中,否则将oprop保留为非动态字段?

"properties": {
"oprop": {
"dynamic": false,
"properties": {
"sortable_key_1": {
"type": "text"
},
"sortable_key_2": {
"type": "text"
}
}
}
}

关于elasticsearch - 通过非映射/可搜索对象属性有效地对结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60394548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com