Ist Ruby on Rails-Plugin, acts_as_ferret, sehr Buggy?
-
09-09-2019 - |
Frage
Ich mache eine sehr einfache Suche auf meiner DB mit acts_as_ferret. Ich habe dies in meinem "Venue" Modell:
acts_as_ferret :fields => [:name, :city]
Und das ist in meiner Controller Suchaktion:
@t = Venue.find_by_contents(params[:search]+'~')
und dann mache ich nur die Ergebnisse.
render :text => @t.to_json, :success => true, :status => :ok
Wenn ich laufe einen schnellen Test:
http://localhost:3000/venue/list?search=The
ich in meinem Log sehen, dass die richtige Abfrage "The ~" auf dem Index ausgeführt wird. Allerdings erhalte ich keine Ergebnisse. Ich habe auf jeden Fall ein paar „Locations“ mit dem Wort „The“ im Namensfeld.
Da es sich um eine sehr einfache Suche und acts_as_ferret verwendet werden ziemlich viel, habe ich versucht, den Index wieder aufzubauen, um zu sehen, ob es beschädigt wurde .... keine Würfel
Irgendwelche Ideen?
Danke!
Lösung
Ja, Frettchen wurde für verderbliche Indizes sehr gut bekannt.
Ich empfehle Schale wie zu einer anderen Such Plugin über Denken Sphinx . Sie können die Railscast sehen darüber, um mehr zu erfahren.
Andere Tipps
Ich denke, das Problem könnte sein, dass „die“ als stopword- ein extrem gemeinsames Wort definiert ist, die nicht indiziert ist, weil es würde nur jedes Dokument zurückzukehren. Sie können Ihre Stoppwortliste konfigurieren.
Ich würde mit Solr betrachten, wenn Sie Probleme mit Frettchen haben.