Szukaj w MySQLdb z php

głosy
2

Jak wdrożyć wielką Wyszukiwanie w MySQLdb - w tabeli, jeśli szukać I z „... jak%% bla ....” nie będzie można znaleźć wszystkie wpisach - jeśli Bla w słowie np. wyszukiwanie z soundex byłoby wspaniale - ale jeśli czytam instrukcję muszę utworzyć soundex-indeks wyszukiwania dla SOUNDEX wartościach?

Więc pytanie co jest „najlepsze praktyki”, aby napisać dobry db-search vor słowa kluczowego w kolumnie „prostym tytule” lub widzielismy cos innego.

PA

Utwórz 09/12/2008 o 16:59
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
2

Jeśli nie jesteś do instalowania i korzystania Sphinx, można spróbować użyć niektórych MySQL wbudowany w pełnych funkcji przeszukiwania tekstu jak „MATCH”

To pozwala zrobić pełnego przeszukiwania tekstu, a nawet plasuje Wynika z wynikiem znaczenie. Można pisać zapytań takich jak:

SELECT id, col1, col2, MATCH(col1, col2) AGAINST('some text' IN NATURAL LANGUAGE MODE) AS relevance FROM table1;

Można nawet użyć rozszerzenie zapytania odebrać od innych zbliżonych warunkach. Na przykład, jeśli użytkownik wyszukuje dla „bazy” i najlepszych najtrafniejsze wyniki zawierają „mysql”, to mysql będą też szukać „mysql”, ponieważ stwierdziła, że ​​„mysql” termin ten jest ściśle związany z „bazy danych” Termin użytkownik szukał.

http://dev.mysql.com/doc/refman/5.1/en/fulltext-query-expansion.html

Odpowiedział 09/11/2009 o 02:09
źródło użytkownik

głosy
2

Dla wyszukiwania tekstowego masz dwie opcje oprócz wykorzystania klauzuli LIKE - FULLTEXT indeksu (czyli przy użyciu MyISAM) lub przy pomocy odpowiednich silników indeksowania takich jak Lucene lub Sfinksa .

Osobiście polecam przy użyciu Sphinx, ma doskonałą integrację zarówno z MySQL i PHP i jest bardzo szybki do wyszukiwania tekstu (i innych zapytań, jak również).

Odpowiedział 09/12/2008 o 17:04
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more