Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak wyświetlać wyniki wyszukiwania według trafności?
Forum PHP.pl > Forum > Bazy danych > SQLite
jolam
Zrobiłam sobie wyszukiwarkę w SQLite używając %LIKE%, wiem, że to nie najlepsze rozwiązanie ale najbardziej pożądane FULLTEXT SEARCH nie działa w SQLite tylko w MySQL. No i teraz chciałabym aby te wyniki wyszukiwania były sortowane według trafności. Wydaje mi się, że powinnam zliczać ilość wystąpień szukanej frazy w danej podstronie i potem sortowac właśnie według tej liczby. Ale nie mam pomysłu jak to sprawnie zrealizować. Proszę o pomóc w nakreśleniu algorytmu.

pozdrawiam serdecznie Jola
erix
Google: SOUNDEX
Riklaunim
Cytat(jolam @ 22.08.2009, 19:38:42 ) *
Zrobiłam sobie wyszukiwarkę w SQLite używając %LIKE%, wiem, że to nie najlepsze rozwiązanie ale najbardziej pożądane FULLTEXT SEARCH nie działa w SQLite tylko w MySQL. No i teraz chciałabym aby te wyniki wyszukiwania były sortowane według trafności. Wydaje mi się, że powinnam zliczać ilość wystąpień szukanej frazy w danej podstronie i potem sortowac właśnie według tej liczby. Ale nie mam pomysłu jak to sprawnie zrealizować. Proszę o pomóc w nakreśleniu algorytmu.

pozdrawiam serdecznie Jola


SQLite posiada pełnotekstowe wyszukiwanie poprzez FTS1/2/3 smile.gif choć chyba bez współczynnika trafności (trzeba by poszukać). A przykład zastosowania FTS w SQLite jest na mojej stronie smile.gif Liczą się aby pokazane SQLki smile.gif
jolam
Ta funkcja SOUNDEX jest bardzo ciekawa. Co prawda chodziło mi o zliczania trafień a nie sprawdzanie czy szukany tekst jest podobny do tego co jest w bazie. Ale funkcja ma fajne możliwości.

Poczytałam o tym fts i na razie troszkę mnie odstrasza ta masa nowych rzeczy z sql. wirtualne tabele, rowid i inne. No ale jak nie ma prostrzego rozwiąznaia to nic an to nie poradzę sad.gif

pozdrawiam Jola
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.