我正在使用CouchDB 2.1.1,并且我不了解CouchDB索引部分工作以及创建CouchDB索引的最佳方法的想法。
问题是我创建的部分工作的沙发床索引。
索引文档
{
"index": {
"fields": [ "field_A, "field_B", "field_C","field_Z" ]
},
"ddoc": "my_index_list",
"name": "my_index_1st",
"type": "json"
}
选择查询
{
"selector": {
"field_A": "value_1",
"field_B": "value_2",
"field_Z":{
"$lte":"value_3"
}
},
"sort":[ "field_A, "field_B", "field_C","field_Z"],
"use_index":[ "my_index_list","my_index_1st" ]
}
当我运行这些语句时,从磁盘中获取的数据在索引字段上似乎只有“ field_A”和“ field_B”部分,而不是“ field_A”,“ field_B”,“ field_Z”。提取该数据后,该ouchdb引擎将在其数据库内存中查询数据匹配的选择器条件“ field_Z”。
我猜测索引文件中索引顺序的原因是[“ field_A”-> ->“ field_B”->“ field_C”->“ field_Z”],但选择器中没有关于“ field_C”的条件。因此,couchdb引擎在“ field_A”,“ field_B”上部分使用索引。
如何在不更改排序顺序的情况下修复查询或索引文档?