2012-03-29 4 views
2

Meine Rails-Anwendung Version ist 2.3.11 und ich verwende Acts_as_solr für die Suche. Die Suche funktioniert gut. Mein Problem ist, dass es keine Teilwortsuche unterstützt.Wie unterstützt man die Teilwortsuche ohne NGramTokenizerFactory?

"success" 
=>Getting search results 
"succ" 
=>No results 

ich gefunden habe, dass NGramTokenizerFactory tun können that.but es erfordert die solr Konfigurationsdatei schema.xml zu ändern.

Gibt es noch eine andere alternative Lösung, um Teilwortsuche zu unterstützen, ohne die Solr-Konfiguration zu ändern?

ODER

Gibt es eine solr Abfragelogik, die die Teilwortsuche unterstützt?

Ich habe versucht, hinzuzufügen "succ *" gibt es korrekte Ergebnis.Aber noch kann ich nicht wie "* word *" suchen.

Antwort

1

Bis * am Anfang des Wortes verwenden Sie könnten ReversedWildcardFilterFactory zu Ihrem Schema

+0

Danke Freund für Ihren response.But es erfordert auch die Datei hinzufügen müssen die schema.xml zu ändern. –

+0

Ja, um Solr so einzustellen, dass es wie gewünscht funktioniert, müssen Sie Ihr Schema ändern. Der einzige andere Weg, der schmerzhafter ist, wäre, die Änderung der Saite während/vor der Indizierungszeit durchzuführen. Aber ich glaube, das ist nicht in Solr-Stimmung. Ich bin sehr daran interessiert, wie Sie es lösen würden. Übrigens, warum kannst du dein Schema nicht ändern? – Fuxi

Verwandte Themen