Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Wyszukiwarka, struktura bazy, optymalizacja
Forum PHP.pl > Forum > PHP
stroju
Posiadam bazę danych o rozmiarze kilku GB, z ponad 300 000 rekordów, obecnie wygląda to tak że jest podział na tabele z newsami, artykułami, produktami itp, wszystko co ma treść w swojej tabeli ma też id, aby łatwo można znaleźć co trzeba, jest osobna tabela z wyrazami, ich id oraz ilością wystąpień z treściach, do każdej tabeli z treściami jest osobna tabela powiązań słów wyszukiwarki z konkretnymi elementami treści, w ten sposób można zaleźć wszystko, jednak już od dłuższego czasu skrypt działa powoli, wyszukiwanie zajmuje sporo czasu a sam rozmiar bazy danych nie jest wcale mały.

Baza jest zapisywana z systemie innodb, zatem wyszukiwanie metodą fulltext nie może być rozwiązaniem.

Zna ktoś jakąś metodę która pomogła by z tego typu wielkościami baz danych? Przebudować całą bazę, a może przechowywać dane z inny sposób, czy w ogóle jest coś wygodniejszego i wydajnego od baz SQL?
Crozin
Cytat
Baza jest zapisywana z systemie innodb, zatem wyszukiwanie metodą fulltext nie może być rozwiązaniem.
MySQL od wersji 5.6 wspiera FTS w InnoDB. Jeżeli korzystasz z wersji <= 5.5 możesz utworzyć dodatkową tabelę, przechowującą kopię danych w systemie MyISAM.
Cytat
Zna ktoś jakąś metodę która pomogła by z tego typu wielkościami baz danych? Przebudować całą bazę, a może przechowywać dane z inny sposób, czy w ogóle jest coś wygodniejszego i wydajnego od baz SQL?
Zewnętrzny, dedykowany wyszukiwaniom system, np. Apache Solr czy Sphinx.
stroju
hmm, nie czytałem o tym ale zapoznam się z tematem, aktualizacja to nie problem.
?
a co do systemu to Sphinx o którym mówisz to Ten ?
Crozin
Tak, o tego Sphinxa mi chodziło. Tutaj masz krótką listę dostępnych narzędzi tego typu: http://en.wikipedia.org/wiki/Category:Free...engine_software
stroju
A masz już może doświadczenia z którymś? Może jakieś rady, propozycje masz co do tego?
Crozin
Solr jest niezwykle prosty w obsłudze oraz daje spore możliwości.
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-2025 Invision Power Services, Inc.