Iskanje s šumniki in brez v mysql

Morda kdo ve kako je najbolje rešiti zadevo,d a bi iskala iskalne pojme, če vpišem šumnike ali pa jih ne. Torej da bi deloval tako računalnik kot racunalnik če vpišeš v iskanje.

Elegantna rešitev, ki jo vem, je ta da koloni dam generalci collation in potem je c=č itd. Edina težava pri tem je potem sortiranje, ker ima c in č za isto črko, moram potem pri vsakem order by stavku uporabiti sloveniancollation, tega imam pa na strani veliko, pa tudi ne vem kakšen hit je to za procesiranje (mora vse na novo sortirati pri SELECT-u)?

Sem poskusil da bi bilo polje slovenianci in bi v funkciji iskanja dodal MATCH AGAINST generalCi samo ne dela, zgleda da full text vedno dela tako, da jemlje iz stolpca collation :-( Kar pa ni fino, ker to da je č = c rabim samo za iskalec, ne pa za sort in je bolj pravilno, da bi bil stolpec slovenianci, ne da moram vsako sortiranje reševati s slovenianci collationom.

Je kakšen obvoz mimo tega oz. kako imate drugi to rešeno, tisti ki imate ;-)

Hvala

Jerry

PS - Morda le še to, se vam zdi potrebno, da iskalec na spletni strani deluje tudi brez šumnikov ali je to nekako zgodovina, glede na to, da so nekatere besede lahko različne z in brez šumnikov in tehnično gledano c ni enak č itd.

14 odgovorov

Pa dela sphynx na mysql 5.6 tudi in z ODBC?

V dokumentaciji tudi piše, da rabim compiler: "On Windows, you will need Microsoft Visual C/C++ Studio .NET 2005 or above. Other compilers/environments will probably work as well, but for the time being, you will have to build makefile (or other environment specific project files) manually."

Vem kaj je bilo, da nisem uporabil, želel sem SphynxSE, torej da imam ta storage engine direktno v Mysql, za to pa rabim compiler in kot vidim ne podpira mysql 5.6, ki ga uporabljam. Ker drugače imam težave z driverjem, kaj dela sphynx na mysql z ODBC?

Samo nihče pa ne ve kako bi najenostavneje to dosegel s samim mysql-om?

Ja, fulltext vedno vzame collation od stolpca.
Pomojem je edina varjanta, če hočeš samo z mysqlom rešit, da nastaviš stolpcem COLLATION utf8generalci in za vsak ORDER BY dodaš COLLATE utf8slovenianci

Edit: mogoče ta link?

Hvala, to je tisto do česar sem sam prišel, tako bi delalo samo moram vsem order by poizvedbam dati collation, kar ni ravno zabavno in pregledno.

Ta link sem že gledal za dodajanje, pa ne vem če velja za utf tudi in kakšno tabelo bi pri tem uporabil.