我的 flex 搜索索引映射中有一个字段,该字段不会用于任何搜索。但我在查询的sort子句中要求它。是否可以在映射定义中放入“index”:“false”?
基本上在映射中:
"name":{
"type": "keyword",
"index": "false"
}
并在查询中:
"sort" : [
{"name" : {"order" : "asc"}}
]
最佳答案
请从Elasticsearch官方文档中阅读有关index选项的信息,该选项中指出:
The index option controls whether field values are indexed. It accepts true or false and defaults to true. Fields that are not indexed are not queryable.
因此,在您的情况下,您明确将其设置为false,因此您将无法在查询中包括它,因此排序查询也不适用于此字段。
通过在索引中创建一个这样的字段,然后查看是否允许您对该字段进行排序,您可以轻松地自己验证这一点。
关于elasticsearch - 排序子句中的非索引字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57320727/