2016-04-20 11 views
0

Ich versuche, ein Update von mehreren Kunden/Adresstabellen zu tun, so dass Straßennamen zu tun, die von Saint-Namen wie „St“ gespeichert sind. Update auf "Saint". Dies erlaubt mir, ID/Fremdschlüssel zwischen ihnen zu teilen (sie sind Tabellen aus unterschiedlichen Quellen).Mit Sphinx Index Mysql-Update

Ich habe versucht, mysql Updates mit einem db von Saint Names, aber ob ich regex oder wie St X oder Like St Y oder auch nur 100s Updates (1 pro Saint) laufen zu lassen es dauern dauern (vor allem weil alle 'Bla St Marys' kann nicht indiziert werden.

Es ist kein Problem, das St X zu finden, wenn eine Sphinx-Abfrage auf einer Tabelle zu tun, wie ich indiziert haben, dass sie zur Rechenschaft.

Also meine (langatmige) Frage ist, gibt es einen Weg, jetzt, da die Tabellen Sphinx Indiziert sind, so dass St = Saint unter den richtigen Bedingungen meinen Sphinx Index mit einem Mysql ersetzen zu kombinieren?

Antwort

0

Nun in der Theorie könnten Sie eine UPDATE tun, indem sie mit einem SphinxSE Tisch verbindet.

http://sphinxsearch.com/docs/current.html#sphinxse

aber es kann (abhängig von der genauen MySQL-Server-Version verwendet)

Kann auch Probleme haben zu installieren tückisch sein, wenn Replikation verwenden, da eine solche Aktualisierung wird nicht Replikation sicher sein.

... aber ehrlich gesagt fragen, ob es mehr Mühe als wert sein wird. Wahrscheinlich ist es einfacher, die Updates mithilfe von MySQL-Volltextindizes zu optimieren.

+0

Volltextindizes ist etwas, das ich in schauen müssen werde, sind die Tabellen und Daten heikel genug, da es Probleme heikel Installationen und Datenintegrität ist w/o Einführung. Im Moment habe ich einen Weg gefunden, meine Abfrage so zu modifizieren, dass ich das gleiche% X 'lösche, das nicht indexierbar ist und die Dinge verlangsamt. Ich werde mich jedoch mit SphinxSE beschäftigen, da es für mich eine Verschwendung ist, Sphinx-indizierte Tabellen gegenüber der Aktualisierung zu verwenden. – user3649739