2010-07-12 18 views
6

Ich habe ein Problem mit Wildcard-Suchen in Lucene-Syntax mit dem Edismax-Handler. Ich habe Solr 4.0 Nightly Build aus dem Kofferraum.Wildcard-Suche in Solr

Eine allgemeine Suche wie 'Computer' liefert Ergebnisse, aber 'com er' liefert keine Ergebnisse. Eine Suche wie "co? Mput? R" liefert keine Ergebnisse. Die einzige Art von Wildcard-Suchläufen, die derzeit arbeiten, sind solche mit folgenden Platzhaltern (wie compute? Oder comput).

Ich möchte in der Lage sein, Suchen mit Platzhaltern zu Beginn (Computer) und dazwischen (com er). Könnte mir bitte jemand sagen, was ich falsch mache und wie ich es beheben kann.

Danke.

Grüße,
Imran.

Antwort

0

Mit edisma sind führende Wildcards kein Problem. Ich habe es gerade erneut getestet.

Wildcards in der Mitte der Laufzeit sind auch kein Problem.

Sieht aus, als ob etwas anderes nicht stimmt. Sind Sie sicher, dass Sie edismax verwenden?

+0

Danke für deine Antwort. Der Edismax-Handler, den ich benutze, ist: http://drupal.org/files/issues/713142-solrconfig-1_0.patch Ich habe Solr 4.0 nächtlich, und ich frage den vorhandenen Index ab, nachdem ich QueryType als 'edismax' eingestellt habe. Bitte könnten Sie darauf hinweisen, was ich falsch mache? Vielen Dank. –

+0

Ein bisschen schwer zu beantworten, aber wie groß ist Ihre Kriegsdatei? Mein Drupalkrieg unterstützt edismax eigentlich nicht. – Jem

+0

Ich verwende keine Kriegsdatei. Ich starte den Solr-Server über das jar (start.jar) und benutze SolrJ zum Indexieren und Suchen. Während der Suche setze ich den QueryType als 'edismax'. Normale Textsuchen funktionieren einwandfrei, nur Platzhalter funktionieren nicht. Irgendeine Idee was ist falsch? –

5

Führender Platzhalter funktioniert nur, wenn Sie reverse string filter aktivieren. Um es in Solr zu verwenden, fügen Sie eine ReversedWildcardFilterFactory dem Analysator des Felds hinzu, das Sie mit einem führenden Platzhalter durchsuchen möchten.

Für Ihre anderen Abfragen, die 0 Ergebnis zurückgeben, versuchen Sie, mit luke zu sehen, wie Ihre Begriffe analysiert werden (im Index gespeichert). Vergessen Sie nicht, die Wirkung der Stemming zu berücksichtigen, wenn Sie es verwenden.

+0

Vielen Dank für Ihre Antwort. Können Sie mir sagen, wie man den Reverse String Filter aktiviert? –

+0

Siehe meine Updates, wie man es in solr benutzt. Bitte erzähl uns wie es gelaufen ist, denn ich habe es nie wirklich benutzt ... –