ich eine Reihe von Suchbegriffe haben wie [+ Hund - „Jack Russels“ + „Foxterrier“], [+ cat + persisch - tabby]. Diese könnten ziemlich lang sein mit vielleicht 30 Unterbegriffen, die für jeden Begriff stehen.Parsing viel Text basiert auf einem konstanten Satz von Suchbegriffen
Ich habe jetzt einige Online-Nachrichten Artikel Extrakte wie [„Mein Foxterrier ist der süßeste Hund der Welt ...“] und [„Hat jemand meine verlorene persische Katze gesehen? Er vermisst ... "]. Sie sind nicht zu lang, vielleicht höchstens 500 Zeichen pro Stück.
In traditionellen Suchmaschinen erwartet man eine große Anzahl von Artikeln, die zu Indizes vorverarbeitet werden, was die Suche nach "Suchbegriffen" beschleunigt, indem man Mengenlehre/Boolesche Logik verwendet, um Artikel auf nur solche zu reduzieren die Phrasen. In dieser Situation ist die Reihenfolge meiner Suchbegriffe jedoch ~ 10^5, und ich möchte in der Lage sein, einen einzelnen Artikel auf einmal zu bearbeiten, um ALLE Sätze von Suchbegriffen zu sehen, mit denen dieser Artikel verglichen werden würde (dh alle + Begriffe sind im Text und keiner der - Begriffe).
Ich habe eine mögliche Lösung mit zwei Karten (eine für die positiven Sub-Sätze, eine für die negativen Sub-Sätze), aber ich denke nicht, dass es sehr effizient sein wird.
Der erste Preis wäre eine Bibliothek, die dieses Problem löst, der zweite Preis ist ein Schritt in die richtige Richtung zur Lösung dieses Problems.
Mit freundlichen Grüßen
Können Sie erklären, warum Sie dies tun möchten? Es könnte eine bessere Lösung geben ... – beerbajay
Was ist dein Problem? Was hast du bisher gemacht? –
Vielleicht interessiert Sie http://stackoverflow.com/questions/5695826/compound-queries-with-redis - der Ansatz, den ich dafür verwendet habe, schien mir gut zu funktionieren. Redis ist effizient bei der Verwendung von minimalem Speicher, so dass es eine Option sein kann. –