2017-12-05 3 views
0

Ich habe alle Fragen durchlaufen und erstellt eine Vielzahl von Indizes, die alle unabhängig voneinander arbeiten, aber die zweite ich versuche, eine ORDER BY hinzuzufügen ich bekomme einen 'kein passender Index gefunden . " Fehler'kein passender Index gefunden' bei der Verwendung von ORDER BY

Dies sind die Indizes ich

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 

mit jeder Abfrage funktioniert

SELECT * FROM upload WHERE flavor="whatever" AND public=true 

Bis ich eine ORDER BY hinzufügen, wobei in diesem Fall nichts funktioniert. Wie zum Beispiel:

SELECT * FROM upload WHERE public=true ORDER BY created DESC 

ich alle diese Indizes erstellt haben, explizit definiert, die Beschreibung, bis zum Ende der Bestellung Feld verlassen, und ich kann immer noch nicht daran zu arbeiten. Was vermisse ich?

Antwort

1

Sie benötigen einen Index für die Art hinzuzufügen upload:

- kind: upload 
    properties: 
    - name: public 
    - name: created 
    direction: desc 

FYI Die Abfrage ohne ORDER BY gelingt, weil es die built-in single property index auf Eigenschaft public nutzen können. Wenn Sie ORDER BY hinzufügen, müssen Sie einen zusammengesetzten Index für die Eigenschaften public und created haben.

+0

Ja, das war das Problem. Es ist heute morgen gelöst. Die Dokumente sind unklar, dass die Art im Index in der Abfrage verwendet werden kann, also wenn ich als Get-All "GET * FROM Get-All" indexiere, hatte ich angenommen, dass es immer die Art der Entität sein müsste . – MNJam3

0

Es gibt mehr Eigenschaften, die von dieser Abfrage zurückgegeben werden als public, created und flavor.

Statt:

SELECT public,created,flavor FROM upload WHERE public=true ORDER BY created DESC 

Geben Sie uns einen Mustersatz von SELECT * wenn das nicht der Fall ist.

Jede Eigenschaft (Feld), die von einer Abfrage zurückgegeben wird, muss auch Teil Ihres benutzerdefinierten Index sein.

+0

Ah, Tony hat es richtig gemacht. – rmrf

Verwandte Themen