Ich benutze Mango-Abfragen mit Couchdb, wenn Benutzer die Datenbank durchsuchen möchten. Sie können nach mehreren Feldern im Dokument suchen.Couchdb, Mango Abfragen und Indizes
Zur Vereinfachung habe ich ein Dokument mit drei Feldern, die alle durchsucht werden können, um das Dokument zu finden.
FieldOne: cow
FieldTwo: pig
FieldThree: dog
Beim Erstellen eines Mango-Index für die Abfrage, welche Felder soll ich verwenden? Soll ich mit mehreren Feldern erstellen und indexieren? Ist die Bestellung wichtig?
In einem Feld sind auch drei verschiedene Dokumenttypen (A, B C) definiert. Ich muss nur eines suchen, ist es möglich, die anderen Typen vom Index auszuschließen, um es schneller zu machen?
Field_Type: A
Es würde Sinn für mich in der Lage sein, einen Index für eine Sicht nur die Suche durch die Dokumente laufen ich interessiert bin. Ist das möglich?
Beispiel Indizes
Ein Index auf dem Feld in der Abfrage
{
"index": {
"fields": [
"FieldOne"
]
},
"name": "foo-json-index",
"type": "json"
}
Mehrere Indizes erscheinen bekannt ist, nicht sicher, ob benutzt oder nicht?
{
"index": {
"fields": [
"FieldOne",
"FieldTwo",
"FieldThree"
]
},
"name": "foo-json-index",
"type": "json"
}
Oder mehrere Indizes, um beim Erstellen der Abfrage die richtige auszuwählen?
Welches ist der richtige Ansatz, um die schnellsten Suchergebnisse zu erhalten?
Haben Sie ein Beispiel für die Abfrageauswahl (en), die Sie optimieren möchten. Es ist schwierig, einen Index vorzuschlagen, der beliebige Abfragen über mehrere Felder abdeckt, aber wenn Sie eine bestimmte Abfrage zur Optimierung haben, kann ich Sie vielleicht beraten. –
Die Abfrage ist sehr variabel über mehrere Felder, sie wird von Backoffice-Mitarbeitern verwendet, daher glaube ich nicht, dass sie leicht optimiert werden kann, da sie nach allem zu suchen scheinen. Danke für dein Angebot und die Antwort hat mir viele Fragen in den Kopf gesetzt. @WillHolley –