[Rubyonrails-ug] Falsche ThinkingSphinx-Suchergebisse bei Suche nach Begriffen mit Umlauten
Hallo zusammen, vielleicht hat das schon mal jemand beobachtet: (Rails 3.0.9, thinking-sphinx 2.0.3, Sphinx 0.9.9) Alles funktioniert prima bis ich nach Begriffen suche, die Umlaute enthalten. Dann werden Einträge aufgelistet, die den Suchbegriff nicht enthalten! Ersetze ich im betreffenden Text den Umlaut durch seine Umschreibung verschwindet auch genau dieser Eintrag aus den Suchergebnissen. Hier ein Auszug aus der der Konfigurationsdatei für den Index des Models EVENT. Es werden noch 2 weitere Models indiziert - die Einstellungen sind identisch. config/development.sphinx.conf: index event_core { source = event_core_0 path = 'pfad zum index auf der Platte' charset_type = utf-8 } und im zugrundeliegenden Model event.rb: define_index do indexes :name, :as = :title, :sortable = true indexes :description, :as = :body indexes :created_at, :sortable = true has created_at end Da nicht jedes der Models die gleichen zu indizierenden Spaltennamen verwendet, habe ich dort wo notwendig Instanzmethoden erstellt, die einfach so lauten wie der Indexname. Somit kann ich später sorgenfrei auf immer die gleichen Eigenschaften des gefundenen Objektes zugreifen, ohne mir Gedanken zu machen, um welches Objekt es sich wirklich handelt: alle besitzen die Eigenschaften 'title' und 'description' Kennt jemand das Problem und hat (eventuell) auch eine Lösung? Gruß Torsten ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Falsche ThinkingSphinx-Suchergebisse bei Suche nach Begriffen mit Umlauten
On Sat, 02 Jul 2011 15:48 +0200, Michael Schuerig michael.li...@schuerig.de wrote: On Saturday 02 July 2011, Torsten Flammiger wrote: vielleicht hat das schon mal jemand beobachtet: (Rails 3.0.9, thinking-sphinx 2.0.3, Sphinx 0.9.9) Alles funktioniert prima bis ich nach Begriffen suche, die Umlaute enthalten. Dann werden Einträge aufgelistet, die den Suchbegriff nicht enthalten! Ich kenne das Problem nicht, es ist aber auch schon eine Weile her, dass ich mit TS gearbeitet habe und damals habe ich Umlaute nicht explizit getestet. Meine starke Vermutung ist, dass du ein Problem mit der Zeichenkodierung hast. Arbeiten alle Teile -- App, Datenbank, (Thinking) Sphinx -- mit der selben Kodierung? Eigentlich sollte es überall UTF-8 sein, ist es aber vielleicht nicht. config/database.yml: development: adapter: mysql2 database: bks username: xxx password: xxx host: localhost encoding: utf8 In jeder der 3 konfigurierten Sourcen wird UTF-8 verwendet: sql_query_pre = SET NAMES utf8 und charset_type = utf-8 Seltsam ist das schon etwas. Und das es im Jahr 11 nach der Jahrtausendwende noch immer Probleme mit Multibytezeichensätzen gibt, verstimmt mich einigermaßen ;) Gibt es denn vielleicht ein Alternative zu TS? Vielleicht kann man ja die FullText-Engine von MySQL nutzen? Gruß Torsten ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Falsche ThinkingSphinx-Suchergebisse bei Suche nach Begriffen mit Umlauten
Hi, klar gibt es alternativen. Du verwendest am besten eine eine richtige Datenbank wie PostgreSQL und nutzt dann https://github.com/phatworx/phat_pgsearch Das läuft ohne irgendwelche Hintergrund-Daemons und sonder Zeichen gehen damit auch Problemlos. mfg marco Am 2. Juli 2011 16:25 schrieb Torsten Flammiger nos...@airpost.net: On Sat, 02 Jul 2011 15:48 +0200, Michael Schuerig michael.li...@schuerig.de wrote: On Saturday 02 July 2011, Torsten Flammiger wrote: vielleicht hat das schon mal jemand beobachtet: (Rails 3.0.9, thinking-sphinx 2.0.3, Sphinx 0.9.9) Alles funktioniert prima bis ich nach Begriffen suche, die Umlaute enthalten. Dann werden Einträge aufgelistet, die den Suchbegriff nicht enthalten! Ich kenne das Problem nicht, es ist aber auch schon eine Weile her, dass ich mit TS gearbeitet habe und damals habe ich Umlaute nicht explizit getestet. Meine starke Vermutung ist, dass du ein Problem mit der Zeichenkodierung hast. Arbeiten alle Teile -- App, Datenbank, (Thinking) Sphinx -- mit der selben Kodierung? Eigentlich sollte es überall UTF-8 sein, ist es aber vielleicht nicht. config/database.yml: development: adapter: mysql2 database: bks username: xxx password: xxx host: localhost encoding: utf8 In jeder der 3 konfigurierten Sourcen wird UTF-8 verwendet: sql_query_pre = SET NAMES utf8 und charset_type = utf-8 Seltsam ist das schon etwas. Und das es im Jahr 11 nach der Jahrtausendwende noch immer Probleme mit Multibytezeichensätzen gibt, verstimmt mich einigermaßen ;) Gibt es denn vielleicht ein Alternative zu TS? Vielleicht kann man ja die FullText-Engine von MySQL nutzen? Gruß Torsten ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Falsche ThinkingSphinx-Suchergebisse bei Suche nach Begriffen mit Umlauten
On Sat, 02 Jul 2011 16:30 +0200, Marco Scholl deve...@marco-scholl.de wrote: Hi, klar gibt es alternativen. Du verwendest am besten eine eine richtige Datenbank wie PostgreSQL und nutzt dann die Möglichkeit bestände durchaus... https://github.com/phatworx/phat_pgsearch Das läuft ohne irgendwelche Hintergrund-Daemons und sonder Zeichen gehen damit auch Problemlos. Mache ich aber trotzdem erst beim nächsten mal... Im Moment habe ich eine Tabelle auf Volltextsuche umgestellt und da habe ich keinerlei Problem bei der Suche nach Begriffen mit Umlauten. Und das Ergebnis stimmt auch :) Ich mach mich jetzt mal daran, den Rest auf Volltextsuche umzustellen. Dann kann ich nämlich auch auf den TS-Daemon verzichten. Eine einfache Ruby-Klasse und eine ebenso einfache Konfigdatei sollten dann für mein kleines Projekt genügen. Torsten ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Falsche ThinkingSphinx-Suchergebisse bei Suche nach Begriffen mit Umlauten
On Sat, 02 Jul 2011 13:30 +0200, Torsten Flammiger nos...@airpost.net wrote: Hallo zusammen, vielleicht hat das schon mal jemand beobachtet: (Rails 3.0.9, thinking-sphinx 2.0.3, Sphinx 0.9.9) Alles funktioniert prima bis ich nach Begriffen suche, die Umlaute enthalten. Dann werden Einträge aufgelistet, die den Suchbegriff nicht enthalten! umgestellt auf MySQL FullText erfüllt diese kleine Klasse meine Anforderungen derzeit weitestgehend: = https://gist.github.com/1060997 Und ich brauche keinen Sphinx-Daemon dafür! Eine simple Migration für die Umstellung der Tabellentypen von InnoDB auf MyISAM plus anlegen des Indexes tut es. Danke für die Anregungen Torsten ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Falsche ThinkingSphinx-Suchergebisse bei Suche nach Begriffen mit Umlauten
Hallo Torsten Schön, dass du 'ne Lösung gefunden hast:-) Manchmal ist Sphinx aber dann doch die bessere Lösung, evtl. magst du daher noch folgendes versuchen: Mit 'charset_table' ist es möglich A in der Suche mit Ä, Ã, etc. gleichzusetzen. Das hilft evtl. Ein Beispiel ist unter https://github.com/huerlisi/katalog/blob/master/config/sphinx.yml zu sehen... Viel Erfolg und schönes Wochenende Simon On 07/02/2011 06:17 PM, Torsten Flammiger wrote: On Sat, 02 Jul 2011 13:30 +0200, Torsten Flammiger nos...@airpost.net wrote: Hallo zusammen, vielleicht hat das schon mal jemand beobachtet: (Rails 3.0.9, thinking-sphinx 2.0.3, Sphinx 0.9.9) Alles funktioniert prima bis ich nach Begriffen suche, die Umlaute enthalten. Dann werden Einträge aufgelistet, die den Suchbegriff nicht enthalten! umgestellt auf MySQL FullText erfüllt diese kleine Klasse meine Anforderungen derzeit weitestgehend: = https://gist.github.com/1060997 Und ich brauche keinen Sphinx-Daemon dafür! Eine simple Migration für die Umstellung der Tabellentypen von InnoDB auf MyISAM plus anlegen des Indexes tut es. Danke für die Anregungen Torsten ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug -- CyT GmbH, Dorfstr. 17, CH-6300 Zug +41 (0)41 544 47 60 i...@cyt.ch http://www.cyt.ch attachment: simon_huerlimann.vcf___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Falsche ThinkingSphinx-Suchergebisse bei Suche nach Begriffen mit Umlauten
On Sat, 02 Jul 2011 19:35 +0200, Simon Hürlimann simon.huerlim...@cyt.ch wrote: Hallo Torsten Schön, dass du 'ne Lösung gefunden hast:-) das ist doch keine Lösung sondern ein ganz böser (und häßlicher und ... und ... und ...) Workaround ;) Manchmal ist Sphinx aber dann doch die bessere Lösung, evtl. magst du daher noch folgendes versuchen: Mit 'charset_table' ist es möglich A in der Suche mit Ä, Ã, etc. gleichzusetzen. Das hilft evtl. hat nichts geändert. Die Thematik regt mich im übrigen furchtbar auf! Ich hab das ja schon anklingen lassen: warum muss ich mich im 2. Jahrzehnt des dritten Jahrtausends mit derartigen Dingen abmühen? Der verwendete Zeichensatz ist sowohl der Datenbank als auch der Suchengine bekannt. Wo also liegt das Problem - sollte man sich fragen? Aber ich geh jetzt lieber mal vom Gas und wünsche ein gediegenes Wochenende;) To ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Falsche ThinkingSphinx-Suchergebisse bei Suche nach Begriffen mit Umlauten
On Saturday 02 July 2011, Torsten Flammiger wrote: Und ich brauche keinen Sphinx-Daemon dafür! Eine simple Migration für die Umstellung der Tabellentypen von InnoDB auf MyISAM plus anlegen des Indexes tut es. Kannst du auf Transaktionsblöcke und einige weitere Features verzichten? Falls du nicht genau weißt, was du tust, lies http://en.wikipedia.org/wiki/MyISAM Irgendwann hat sich das Gerücht selbständig gemacht, MySQL wäre ein brauchbares relationales DBMS... Michael -- Michael Schuerig mailto:mich...@schuerig.de http://www.schuerig.de/michael/ ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug