![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 20.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
Może nie jest to zadanie dla php - ale czemu nie;)
Jak napisali byscie wyszukiwarke na ok 20mln stron?? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
Zanim zaczniemy nad tym myśleć, może powiedz coś więcej?
Co chcesz osiągnąć? Skąd ta pewność, żę będzie 20 mln.? Jak ma działać? Bo niestety - ale w tej chwili trudno powiedzieć cokolwiek na ten temat. -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 20.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
20 mln - liczba abstrakcyjna - aby wyraźić ze chodzi o duzy projekt z naprawde wydajna baza danych.
Co do samego projektu podzielił bym go na 3 części - napisanie robota chodzacego po stronach i zapisującego dane - chyba najprosztszy etap 2 - stwozenie wydajnego systemu przeszukiwania bazy danych 3 - określenie reguł na miejsce strony pod szukaną frazą |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 1 Dołączył: 17.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
Kiedyś nad tym myślałem, ale projekt jest tak zaj...[cenzura] zawikłany że dałem sobie spokój (na etapie projektu), zabrałem się za to za projekt mniejszej bazy, ale o podobnych założeniach WTF (What The Faq) - baza faq'ów z wyszukiwarką. Mimo prostego pomysłu, projekt był bardzo skomplikowany - właśnie trzeci punkt był bardzo ważny w moim projekcie... który również padł, ale powstało część kodu. Może kiedyś znów spróbuję...
![]() ![]() KaMeLeOn: Panie MaKARON... Na forum php.pl uważamy na słownictwo. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 14.06.2002 Skąd: Żyrardów Ostrzeżenie: (0%) ![]() ![]() |
Można by było także oprzeć swoją wyszukiwarke na zasadzie "złodziejskiej". A chodzi mi o to:
Skrypt wysyła zapytanie (odpowiednie swormułowanie oczywiście) do jednej ze stron (google - światowe szukanie, netsprint - polskie). póznij pobrać strone wynikową sformatować aby pasowała do strony (w tym usuwanie linków sponsorowanych, czy coś takiego). koncepcja prosta, chyba gorzej z wykonaniem |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
To co propunejesz raf2001 jest wbbrew pozorom latwe do napisania.
Wystarczy skorzystac z API goole i uzyc do niego jakiejs gotwej klasy do jej obslugi i wydawac zapytania w postaci <zapytanie> site:<adres strony>. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 17.02.2004 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Piszecie o robotach buszujących w necie.
Ale w czym byście napisali takiego robota ![]() Według mnie nie jest to wcale takie proste jak się to wydaje. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 24.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
NItry14: W czym? Chociażby w php. A jak nie php to Java, C++........
Oczywiście wszystko musi wydajnie chodzić przy tak dużej ilości. Jednak nie jest łatwe napisanie takiego robota. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 14.06.2002 Skąd: Żyrardów Ostrzeżenie: (0%) ![]() ![]() |
mój sposób niebyl by bardzo wydajny, ale jakoś by to szło. Moim zdaniem zrobienie takiego systemu, to dla znających sie dobrze na php to okolo 2 dni roboty (jestem teoretykiem, wiec tego raczej niezrobie). Skrypt był by oparty na takiej architekturze:
1. Ktoś w inpucie wpisuje czego szuka 2. skrypt odwołuje się do jednej z wyszukiwarek (lista wyników zrobiona tak w zapytaniu, aby na jednej stronie bylo jak najwięcej odpowiedzi) 3. skrypt "podkrada dane" ze strony i formatuje z nich własne, wyświetlając je (z podziłame na strony): podkradanie tych danych mogło być przeprowadzone na dwa sposoby: a. w realu - czyli przykładowo odwołujemy sie do wyszukiwarki, aby pobrać dane (w tym przypadku np 25 rekordów) i poprostu je wyświetlić na stronie skryptu b. w pamięci (tak to nazwalem) - skrypt odwołuje się do wyszukiwarki, pobiera maxymalną ilośc rekordów (rekordy, to ilośc wyświetlen wyników na jednej stronie np 150.), oborka ich podzielenie ich na nowe strony np po 20 rekordów i wyswietlenie Taka jest moja teoria a kto co jak zrobi to jego sprawa 8) ps. skrypty mogły by być 2: php lub perl. Moim zdaniem perl łatwiej by to załatwił (ale go nieznam więc to tylko moje domysły) -------------------- ![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Tutaj http://www.google.pl/intl/pl/apis/ sa informacje jak pobierac wyniki z googli uzywajac ich API. Przyklady sa dla Javy i .NET'a ale nic nie stoi na przeszkodzie aby napsiac to w php.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 14.06.2002 Skąd: Żyrardów Ostrzeżenie: (0%) ![]() ![]() |
to moze niech ktoś zrobi taki skrypcik, w najprostszej formie (osobiście nielubie class, więc wolałbym bez tego). skrypcik: thief
![]() ![]() -------------------- ![]() |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 30.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Generalnie pisanie robotów jest sprawą dużo trudniejszą niż się wydaje i php się do tego nie nadaje z 2 powodów:
1) przechowywanie indeksów - zwykła baza danych takiego zadania się nie ima - jeśli taka metoda przechowywania danych zostanie zastosowana, to nie będzie to tak wydajne, ani skalowalne jak rozwiązanie autorskie; z reguły buduje się specjalne indeksy słów na jakiś drzewach binarnych itp. - jak nie trudno zgadnąć w php napisanie czegoś takiego jest - jeśli nawet możliwe - mało sensowne 2) język polski - zagadnienie normalizacji (czyli sprowadzanie słów do form pierwotnych - bezokolicznika dla czasowników czy mianownika l.p. dla rzeczowników); realizują to specjalne algorytmy działające z reguły na indeksach wszystkich słów języka polskiego we wszystkich formach i próbujące wyznaczyć odopowiednie znaczenie z kontekstu gramatycznego; przykładem takiego podejścia do tego zadania jest NetSprint; w każdym razie ta złożoność obliczeniowa też nie jest dla php W reszcie - jak ktoś już wcześniej zauważył wyszukiwarka najpierw buduje indeks (co w przypadku 2 mln. stron może potrwać bardzo długo) a dopiero potem z niego korzysta. Jeśli kogoś interesuje dobra wyszukiwarka OpenSource w ogóle, to jest nią bez wątpienia Lucene (http://jakarta.apache.org/lucene/docs/index.html), ale jest napisana w Javie i niestety nie obsługuje normalizacji dla języka polskiego - z resztą generalnie polskie algorytmy normalizacji nie są dostępne w bezpłatnych implementacjach. Nie polecam w każdym razie pisania wyszukiwarki bez odpowiedniej wiedzy, a już na pewno nie w php ![]() |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 14.06.2002 Skąd: Żyrardów Ostrzeżenie: (0%) ![]() ![]() |
nasze założenia się różnią, ty mówisz o tworzeniu od podstaw wyszukiwarki, ja tylko o "złodziejstwie" (
![]() Ps. google.pl opiera się na kilku wyszukiwarkach polskich,więc pół roboty by było z glowy :wink: -------------------- ![]() |
|
|
![]()
Post
#14
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ps. google.pl opiera się na kilku wyszukiwarkach polskich,więc pół roboty by było z glowy :wink:
:?: |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 14.06.2002 Skąd: Żyrardów Ostrzeżenie: (0%) ![]() ![]() |
Gdzies czytałem, że google nieposiada własnej bazy, opiera sie na onecie, wp i innych tego typu polskich wyszukiwarkach. niewiem co on dokładnie robi, ale opiera się (czy indeksuje onet,wp i inne i potem z tego kożysta, niewiem dokładnie, ale takie cos było)
ps. przynajmniej tak mi się zdaje ![]() -------------------- ![]() |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Chyba odwrotnie... Onet korzysta z googli przy szukaniu po zagranicznych stronach.
-------------------- |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 22.04.2003 Skąd: Żory / K-ce Ostrzeżenie: (0%) ![]() ![]() |
Bzdura. Google ma własną bazę danych, rozproszoną na wiele komputerów. Korzysta z całkiem innych algorytmów, indeksuje strony inaczej (np. napisz w google "masło maślane" i "maślane masło" - otrzymasz inne zestawy wyników, gdyż Google uwzględnia odległość dopasowanych wyrazów) i nie ma porównania z takim sobie Onetem. Z kolei WP ogłasza upadłość - jak WP padnie to Google polskie też? Bzdura do kwadratu.
-------------------- Gadu-Gadu: 3909164
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 14.06.2002 Skąd: Żyrardów Ostrzeżenie: (0%) ![]() ![]() |
nieważne, ale napewno jakoś z siebie kożystają (mniejsza już o to który z którego, jak znajde opis to zacytuje). Teraz może ktoś ma inny pomysł na wyszukiwarke niż moje?
-------------------- ![]() |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 22.04.2003 Skąd: Żory / K-ce Ostrzeżenie: (0%) ![]() ![]() |
Ja pisałem w odpowiedzi na Twój post - pisaliśmy je ze spenalzo w tym samym czasie prawie
![]() Ja bym zrobił wyszukiwarkę w oparciu o Google - są bardzo szybkie, mają wygodny dostęp przez WebServices - nie trzeba parsować wyników z HTML-a. Czegóż chcieć więcej ![]() -------------------- Gadu-Gadu: 3909164
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 14.06.2002 Skąd: Żyrardów Ostrzeżenie: (0%) ![]() ![]() |
skryptu
![]() -------------------- ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 04:11 |