2017-12-05 5 views
0

すべての質問を終えて、すべてが独立して動作する多数のインデックスを作成しましたが、2番目にORDER BYを追加しようとしました。 。エラーORDER BYを使用しているときに一致するインデックスが見つかりません

これらは私が、私は何も動作その場合、ORDER BYを、追加まですべてのクエリが

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

を作品

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 public=true ORDER BY created DESC 

私はそれらのすべてのインデックスを作成して、明示的に、説明を定義し最後まで順番フィールドを残して、私はまだそれが仕事を得ることができません。私は何が欠けていますか?

答えて

1

あなたは親切uploadのインデックスを追加する必要があります。

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

それが財産publicbuilt-in single property indexを使用することができますので、FYI ORDER BYのないクエリが成功しました。 ORDER BYを追加すると、publiccreatedの両方のプロパティに複合インデックスが必要です。

+0

はいこれが問題でした。今朝それを解決しました。ドキュメントでは、インデックスの種類をクエリで使用できるかどうかは不明です。get-allとしてインデックスを作成すると、「get * FROM get-all」を実行できます。常にエンティティの種類でなければならないと仮定していました。 – MNJam3

0

publiccreated、およびflavorよりも多くのプロパティが返されます。代わりに

:それはそうではないかどう

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

は私たちにSELECT *からのサンプルレコードを与えます。

クエリによって返されるプロパティ(フィールド)もカスタムインデックスの一部である必要があります。

+0

ああ、トニーはそれを正しくしました。 – rmrf

関連する問題