Wenn Sie versuchen, zu genau darüber nachzudenken, wie Sie Ihre Daten für die Suche strukturieren, besteht eine gute Chance, dass Sie eine wichtige Suche verpassen, die Sie wirklich in Ihrer App hätten verwenden können.
Alternativ (und das ist aus Erfahrung) erfinden Sie am Ende alle möglichen Indizierungstechniken neu.
Ich habe einige Erfahrung mit Lucene (es gibt Java- und .net-Versionen, es gab einen C-Port, aber ich bin mir nicht sicher, wie lebendig es heutzutage ist) - und es kann erstaunliche Dinge mit Daten anstellen, die in einer beliebigen Struktur gespeichert sind. P>
Ich mag das Aussehen von couch db, hängt nur davon ab, wie sehr Sie mit etwas Neuem und Mächtigem experimentieren oder sich für etwas entscheiden möchten, das (derzeit) ziemlich kampferprobt ist:Lucene.