wyszukiwarka, wydajna, z prawdziwego zdarzenia ;) |
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 ;) |
4.12.2005, 00:48:17
Post
#1
|
|
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ę:
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? |
|
|
27.06.2011, 12:10:28
Post
#41
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 27.06.2011 Ostrzeżenie: (0%) |
Witam,
A ma ktos moze jakis tutorial do sphinxa, najlepiej z przykladami? Cos innego nic dokumentacja i forum na stronie sphinxa? |
|
|
28.06.2011, 14:17:06
Post
#42
|
|
Grupa: Zarejestrowani Postów: 64 Pomógł: 0 Dołączył: 3.02.2009 Ostrzeżenie: (0%) |
Taka jeszcze krotka piłka - Sphinx czy Lucene i dlaczego?
|
|
|
29.06.2011, 18:21:58
Post
#43
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 1.01.2007 Ostrzeżenie: (0%) |
http://webhosting.pl/Sphinx.zbuduj.wlasna.wyszukiwarke.w.PHP
Z tego korzystałem, poznając Sphinxa. Do Lucyny znalazłem słabszą dokumentację i w projekcie postawiłem na Sphinxa. Jego główną zaletą jest możliwość postawienia jako osobny silnik do MySQL (przynajmniej tak to widzi PHP) - w zasadzie bez większych zmian w kodzie można cieszyć się wydajnym wyszukiwaniem korzystając z ORM. Testowana wydajność - przy kilkudziesięciu milionach rekordów znajdował żądaną informację w 0.0x s dla wyrazu i 0.x s dla frazy. Korzystam z wersji 2. Docelowo Sphinx ma ewoluować w stronę silnika bazy danych dedykowanego do szukania tekstowego i to jego niewątpliwy plus. -------------------- O mnie: Krzysztof Zalasa na LinkedIn
|
|
|
30.06.2011, 18:20:16
Post
#44
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) |
Polecam Apache Solr oparty o Lucene. Łatwe, szybkie i przyjemne, konfiguracja xmlowa. Integrowałem z Magento dla średnio obciążonych sieci sklepów, działa miodzio i obsługuje niemal większość języków w tym chiński uproszczony. Polecam
-------------------- Nie pomagam na pw, tylko forum.
|
|
|
31.03.2012, 14:51:13
Post
#45
|
|
Grupa: Zarejestrowani Postów: 160 Pomógł: 6 Dołączył: 13.01.2012 Skąd: Bytom Ostrzeżenie: (0%) |
Ja zadam inne (banalne) pytanie.
Na czym polega wyszukiwarka z indeksowaniem? Mam np tabelę search_index i tam word_id | word | article Następnie dodając artykuł do bazy, tworzę indeks jego treści wyciągając np wyrazy dłuższe niż 3 znaki, do bazy wpisuję słowo (word) i do jakiego artykułu przynależy (article)? -------------------- |
|
|
31.03.2012, 20:03:13
Post
#46
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) |
Czy nie chodzi ci o cos takiego: http://www.beldzio.com/czy-chodzilo-ci-o-%...6-czyli-n-gramy
Ten post edytował marcio 31.03.2012, 20:03:52 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
31.03.2012, 20:25:28
Post
#47
|
|
Grupa: Zarejestrowani Postów: 160 Pomógł: 6 Dołączył: 13.01.2012 Skąd: Bytom Ostrzeżenie: (0%) |
Nie, nie chodziło mi o podpowiedzi, tylko jak się współcześnie tworzy wyszukiwarki, bo na pewno nie na LIKE (chociaż niektórzy nadal tego używają), googlujac doszedłem do wniosku, że używa się indeksów, ale jak?
-------------------- |
|
|
31.03.2012, 21:59:48
Post
#48
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) |
Nie, nie chodziło mi o podpowiedzi, tylko jak się współcześnie tworzy wyszukiwarki, bo na pewno nie na LIKE (chociaż niektórzy nadal tego używają), googlujac doszedłem do wniosku, że używa się indeksów, ale jak? Tam nie uzywa sie Like i nie chodzi tez o podpowiedzi jesli sie nie myle, poczytaj o full text i o wyszukiwaniu na podstawie tagow to tez jest ciekawe... -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
Wersja Lo-Fi | Aktualny czas: 18.05.2024 - 11:10 |