gpt4 book ai didi

elasticsearch - 如何对_source中的字段进行排序?

转载 作者:行者123 更新时间:2023-12-03 00:26:15 25 4
gpt4 key购买 nike

我有一个要求,我们要根据特定查询的搜索结果创建CSV。问题陈述是:

flex 搜索中存储的值存在某些问题。例如,A的值为1或0。B的值为1和0,依此类推。现在,当我检索到响应时,_search中的问题(字段)不是按顺序排列的,例如,它以A,C,D,F,B的形式出现。我们想要的是要添加到查询中的内容,以便我们在in_source中拥有一个排序的字段列表,例如A,B,C,D,以便可以将其直接映射到CSV。 Elasticsearch是否提供此类API?

最佳答案

天真的,如果你尝试把

{
...
"query": {...},
"sort": [
{
"field_A": {
"order": "asc"
}
],
...
}

您将获得一个异常(exception):

No mapping found for [field_A] in order to sort on



幸运的是,Elasticsearch提供了一种机制来忽略没有映射并且不按其排序的字段:
{
...
"query": {...},
"sort": [
{
"field_A": {
"order": "asc",
"unmapped_type" : "long" // new here
}
],
...
}

此参数的值用于确定要发出的排序值。

在此处阅读更多信息 Ignoring Unmapped Fields | Elasticsearch Reference

关于elasticsearch - 如何对_source中的字段进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25155421/

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