我已经完成了所有问题并创建了大量独立完成的索引,但是第二次尝试添加ORDER BY时,我找到了“找不到匹配的索引”。错误
这些是我正在使用的索引
indexes:
- kind: gallery-public
properties:
- name: public
- name: flavor
- name: created
direction : desc
- kind: get-selfies
properties:
- name: flavor
- name: public
- name: created
direction: desc
- kind: get-selfies
properties:
- name: flavor
- name: created
direction: asc
- kind: get-all
properties:
- name: public
- name: created
direction: desc
- kind: get-all-old
properties:
- name: public
- name: created
direction: asc
- kind: get-all-two
properties:
- name: flavor
- name: created
direction: desc
每个查询都有效
SELECT * FROM upload WHERE flavor="whatever" AND public=true
直到我添加了一个ORDER BY,在这种情况下没有任何效果。如:
SELECT * FROM upload WHERE public=true ORDER BY created DESC
我已经创建了所有这些索引,明确定义了描述,将订单字段留到了最后,我仍然无法使其工作。我错过了什么?
答案 0 :(得分:2)
您需要为upload
种类添加索引:
- kind: upload
properties:
- name: public
- name: created
direction: desc
FYI没有ORDER BY
的查询成功,因为它可以使用public
属性ORDER BY
。通过添加public
,您需要在created
和14.05.2017 15:32
属性上都有一个综合索引。
答案 1 :(得分:0)
该查询返回的属性多于public
,created
和flavor
。
相反:
SELECT public,created,flavor FROM upload WHERE public=true ORDER BY created DESC
如果情况并非如此,请提供SELECT *
的样本记录。
查询返回的任何属性(字段)也必须是自定义索引的一部分。