Ich habe Millionen von Elementen, die nach einem vorberechneten Wert sortiert sind. Jedes Element hat viele boolesche Attribute. Lassen Sie uns sagen, dass es etwa zehntausend mögliche Attribute gibt, von denen jedes ein Dutzend hat.Datenspeicherlösung für die Tag-Suche
Ich würde gerne in der Lage in Echtzeit (einige Millisekunden) die oberen n Elemente gegeben ~ eine beliebige Kombination von Attributen.
Welche Lösung würden Sie empfehlen? Ich suche nach etwas extrem Skalierbarem.
-
- Wir suchen bei mongodb und Array-Index, sehen Sie eine Beschränkung?
- SolR ist eine mögliche Lösung, aber wir brauchen keine Textsuchfunktionen.
Wenn Sie "nach Punktzahl" sagen, meinst du, das ist bereits vorberechnet? Wenn dies der Fall ist, kann SOLR keinen Vorteil bringen. Wenn nicht, bietet SOLR eine sehr mächtige und anpassbare Relevanzrangfolge. – nickdos
Millionen von Items sind für SOLR kein Problem, aber 10.000 mögliche Attribute könnten ein Problem sein. SOLR unterstützt dynamische Felder, so dass Sie nicht alle Attribute definieren müssen, aber Speicher mit einem breiten/spärlichen Schema platzen kann. Andere können dazu besser beraten. – nickdos
@nickdos ja das Ergebnis ist vorberechnet. Und ich denke, Sie haben Recht, der schwierige Teil ist die große Anzahl von Attributen. Ich weiß nicht, wie mongodb damit umgeht. Erstellt es einen Index pro Attribute? Ist es sogar möglich, so viele Indizes zu haben? Wir werden trotzdem testen, aber ich möchte sicher sein, dass wir die richtige Strategie nicht verpassen. – log0