Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zasady pisania na forum Pro

Tematy na forum Pro mogą zakładać jedynie moderatorzy. W otwartych tematach może pisać każdy, kto ma coś fachowego do powiedzenia. Wszystkie posty nie wnoszące nic do tematu będą natychmiast usuwane, a ich autorzy dostaną ostrzeżenie.
Jeśli uważasz, że jakiś temat jest warty dyskusji na tym forum, zgłoś go w temacie Propozycje.

> wyszukiwarka, wydajna, z prawdziwego zdarzenia ;)
chmolu
post 4.12.2005, 00:48:17
Post #21





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 8.10.2004

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


Witam,

wiem, że takie tematy już były, ale nie znalazłem w nich żadnych konkretów.

Jak podeszlibyście do problemu zbudowania mechanizmu wyszukiwarki dla systemu, który nierzadko może obsługiwać spore ilości danych (w wielu tabelach)?

Interesuje mnie wszystko na ten temat - linki, artykuły, tutoriale.

Spotkałem się już w kilku aplikacjach z rozwiązaniem, które wyglądało mniej więcej tak:
treść tabeli, np. articles jest dzielona na słowa, np tekst:
Cytat
To jest przykładowa treść artykułu

Zostanie podzielony na tablicę:
  1. <?php
  2. array('jest', 'przykładowa', 'treść', 'artykułu');
  3. ?>

Słowo "to" jest traktowane jako tzw. common word i pomijane.

Te słowa są wrzucane do osobnej tabeli, która ma mniej wiecej taką strukturę:
Kod
word_id
word_text


Do tego jest jeszcze jedna tabela, która łączy artykuł ze słowami:
Kod
article_id
word_id



Rozwiązanie ciekawe, ale zastanawia mnie, jak to jest z jego wydajnością. O ile liczba słów jest ograniczona, to druga tabela może się nieźle rozrosnąć. Pisał już ktoś coś takiego? Jakie są wasze sposoby na problem wyszukiwarki w CMSach?
Go to the top of the page
+Quote Post

Posty w temacie
- chmolu   wyszukiwarka   4.12.2005, 00:48:17
- - AcidBurnt   fajny przykład na PostgreSQL: http://www.depesz....   25.06.2007, 17:52:10
- - rubinek   Sphinx -> http://www.sphinxsearch.com/ -> i ...   27.05.2008, 13:33:38
- - Strzałek   Jednak nie każdy ma możliwość ...   11.10.2008, 15:25:16
- - c3zi   Tak, ktoś używa. Jest bardzo wydajny jeśli chodzi ...   8.11.2008, 12:39:52
- - NuLL   A czy Sphinx potrafi indeksowac kilka tabel z dany...   27.01.2009, 15:54:10
|- - Strzałek   Cytat(NuLL @ 27.01.2009, 15:54:10 ) A...   5.03.2009, 17:54:28
- - rashid   Sphinx indeksuje dane z dowolnego zapytania, wiec ...   31.01.2009, 12:33:57
- - ropsiU   A próbował się ktoś z polską morfologią w sphinxie...   27.11.2009, 11:16:33
- - pawel_   Ja używam czegoś takiego ( w sekcji index ) Kodcha...   4.12.2009, 11:19:22
- - mr__y   Cytat(ropsiU @ 27.11.2009, 12:16:33 )...   27.02.2010, 15:02:16
- - pawel_   Skrypcik: Kod<?php # ten plik ściągamy z htt...   1.03.2010, 12:02:27
- - Wave   Na czym polega wyszukiwanie z użyciem indeksu słów...   29.06.2010, 12:15:30
- - ulow   Indekser zapisuje w bazie/pamięci/gdzie chcesz poj...   29.06.2010, 13:57:41
|- - Wave   Cytat(ulow @ 29.06.2010, 14:57:41 ) C...   30.06.2010, 23:13:52
- - ulow   chodziło o "na podstawie jednego do dwóch słó...   3.07.2010, 09:22:33
- - gothye   podobne rozwiązanie wykorzystane jest w silniku fo...   17.01.2011, 12:12:29
- - mankowski   Witam, A ma ktos moze jakis tutorial do sphinxa, n...   27.06.2011, 12:10:28
- - Ormin   Taka jeszcze krotka piłka - Sphinx czy Lucene i dl...   28.06.2011, 14:17:06
- - Hellz   http://webhosting.pl/Sphinx.zbuduj.wlasna.wyszukiw...   29.06.2011, 18:21:58
- - darko   Polecam Apache Solr oparty o Lucene. Łatwe, szybki...   30.06.2011, 18:20:16
- - mrWodoo   Ja zadam inne (banalne) pytanie. Na czym polega wy...   31.03.2012, 14:51:13
- - marcio   Czy nie chodzi ci o cos takiego: http://www.beldzi...   31.03.2012, 20:03:13
- - mrWodoo   Nie, nie chodziło mi o podpowiedzi, tylko jak się ...   31.03.2012, 20:25:28
- - marcio   Cytat(mrWodoo @ 31.03.2012, 21:25:28 ...   31.03.2012, 21:59:48


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: 19.05.2024 - 23:31