Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> full text search jak przyspieszyć
lobopol
post 29.09.2011, 08:53:59
Post #1





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

Ostrzeżenie: (0%)
-----


Mam bazę:
article
-id
-title fulltext
-content fulltext
-status index

tag
-id
-name fulltext

article_tag
-id
-tagId
-articleId

i chciałbym wyciągnąć wpisy które mogą zawierać jakąś frazę (gdzie fraz może być do 10 różnych) w article.title, article.content bądź w przypisanym tagu gdzie artykuł ma status 1 i posortowane po ilości trafień
Na razie mam takie zapytania

zliczenie wyników
  1. SELECT SQL_NO_CACHE count(DISTINCT article.id) AS number FROM article LEFT JOIN article_tag ON (article_tag.articleId = article.id) LEFT JOIN tags ON (tags.id =
  2. article_tag.tagId) WHERE article.STATUS = 1 AND (match(article.title, article.content, tags.name) against ("gggg*" IN BOOLEAN mode))>0


  1. SELECT SQL_NO_CACHE DISTINCT article.id, article.title, article.img, article.published, article.content, article.vote_false, article.vote_true,
  2. article.imgSource, match(article.title, article.content, tags.name) against ("gggg*" IN BOOLEAN mode) AS sort FROM article LEFT JOIN article_tag ON
  3. (article_tag.articleId = article.id) LEFT JOIN tags ON (tags.id = article_tag.tagId) WHERE article.STATUS = 1 AND match(article.title, article.content,
  4. tags.name) against ("gggg*" IN BOOLEAN mode) HAVING sort>0 ORDER BY sort DESC, article.published DESC LIMIT 0,10;


ale przy bazie 30 000 tagów, 100 000 powiązań, 30 000 artykułów oba zapytanie wykonują się ponad 3 sekundy


--------------------
Go to the top of the page
+Quote Post
wookieb
post 29.09.2011, 09:02:53
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Zmienić silnik wyszukiwania na Sphinx-a chociażby.


--------------------
Go to the top of the page
+Quote Post
lobopol
post 29.09.2011, 13:29:48
Post #3





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

Ostrzeżenie: (0%)
-----


Jakbym miał taką możliwość na tym serwerze to czemu nie, ale nie mam :/


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.06.2025 - 20:23