Dlaczego wyszukiwarka ma opóźnienie?

22.06.05, 22:10
Dlaczego wyszukiwarka znajduje tylko posty, które ukazały się dzień wcześniej?
Czy jest to jakiś problem technologiczny nie do pokonania?

b
    • user0001 Re: Dlaczego wyszukiwarka ma opóźnienie? 23.06.05, 09:06
      Tak, jest to spory problem techniczny. Spróbuję go opisać.

      Weź z półki jakąś książkę techniczną lub naukową. Z tyłu książki powinieneś
      znaleść indeks. Indeks zawiera (niektóre) słowa występujące w książce, ułożone w
      kolejności alfabetycznej, wraz z miejscami ich występowania. Gdy chcesz znaleść
      znaczenie jakiegoś słowa, to wyszukujesz je w indeksie, a następnie otwierasz
      książkę w miejscu w którym to słowo występuje. Jeśli chciałbyś znaleść to słowo
      bez korzystania z indeksu musiałbyś przeczytać całą książkę. To zajęło by dużo
      czasu.

      Wyszukiwanie w forum wygląda podobnie jak wyszukiwanie w książce z użyciem
      indeksu. W nocy komputer tworzy taki indeks z wszystkich słów. Gdy wyszukujesz,
      to komputer nie przegląda wszystkich postów na forum, ale zagląda do indeksu,
      znajduje w indeksie słowa kluczowe których szukałeś i zwraca posty w których to
      słowo wystąpiło.

      Budowanie indeksu jest bardzo czasochłonne, dodawanie do indeksu również jest
      czasochłonne. Przy liczbie odwiedzin jaką mają serwery gazety, nie ma
      możliwości aby dodawać słowa do indeksu za każdym razem gdy ktoś wyśle post.
      Aktualizacja indeksów co 24 godziny jest rozsądnym kompromisem.

      ps. Nie znam rozwiązań technicznych używanych przez gazeta.pl, opisałem jedynie
      problemy z FTS (pełne wyszukiwanie tekstowe).
      • bogunia0 Re: Dlaczego wyszukiwarka ma opóźnienie? 23.06.05, 11:53
        > Weź z półki jakąś książkę techniczną lub naukową. (...)

        Rozmawiasz z profesjonalistą, takie porównania są zbędne :)

        Po pierwsze, ile postów zostaje dodanych w ciągu godziny do forum? Jaki to rząd
        wielkości? Dziesięć tysięcy? To daje 10-100 MB / godzinę danych tekstowych do
        zindeksowania. To nie jest dużo.

        Po drugie, niektóre bazy danych oferują wyszukiwanie pełnotekstowe - wtedy nie
        jest potrzebne dodatkowe indeksowanie - po prostu szuka się słów w bazie.

        Tak więc wciąż nie widzę za bardzo tego dużego problemu technologicznego.
        • user0001 Re: Dlaczego wyszukiwarka ma opóźnienie? 23.06.05, 12:07
          > Rozmawiasz z profesjonalistą, takie porównania są zbędne :)
          > [...]
          > Tak więc wciąż nie widzę za bardzo tego dużego problemu technologicznego.

          Przepraszam, jeśli uraziłem Ciebie tłumaczeniem przeznaczonym dla laika.

          Zmyliło mnie używanie przez Ciebie słowa "technologicznego" zamiast
          "technicznego". Dla mnie technologia wiąże się z przeróbką i obróbką materiałów,
          laboratoriami lub produkcją (technologia półprzewodnikowa, grubowarstwowa,
          cienkowarstwowa...), a nie z bazami danych i programowaniem.
          • bogunia0 Re: Dlaczego wyszukiwarka ma opóźnienie? 23.06.05, 17:39
            > Przepraszam, jeśli uraziłem Ciebie tłumaczeniem przeznaczonym dla laika.

            Nie, nie uraziłeś mnie.

            > Zmyliło mnie używanie przez Ciebie słowa "technologicznego" zamiast
            > "technicznego". Dla mnie technologia wiąże się z przeróbką i obróbką materiałów
            > ,
            > laboratoriami lub produkcją (technologia półprzewodnikowa, grubowarstwowa,
            > cienkowarstwowa...), a nie z bazami danych i programowaniem.

            Ciekawe. Nigdy nie słyszałeś np. o technologiach wykorzystanych przy tworzeniu
            aplikacji?
        • tebe Re: Dlaczego wyszukiwarka ma opóźnienie? 23.06.05, 12:12
          50 tys. jest dziennie.
          Gdyby było wystarczająco łatwe w stosunku do korzyści jakie przyniesie brak
          opóźnienia, to byśmy zrobili. Ale nie jest, więc jest kompromis. Gdyby to było
          np. przeszukiwanie ofert, to zgodzę się, że sens miałoby tylko na bieżąco.
          Pozdrawiam
          • bogunia0 Re: Dlaczego wyszukiwarka ma opóźnienie? 23.06.05, 17:45
            > Gdyby było wystarczająco łatwe w stosunku do korzyści jakie przyniesie brak
            > opóźnienia, to byśmy zrobili.

            Tak myślałem, że chodzi o politykę.

            > Ale nie jest

            Hmm... 50 tys. postów dziennie nie jest prosto zindeksować? Aż sobie spróbuję
            zasymulować na swoim sprzęcie.
            • user0001 Re: Dlaczego wyszukiwarka ma opóźnienie? 23.06.05, 18:22
              > Hmm... 50 tys. postów dziennie nie jest prosto zindeksować? Aż sobie spróbuję
              > zasymulować na swoim sprzęcie.

              Opracowując symulację, nie zapomnij o "bagażu" w postaci słownika z terminami
              użytymi we wszystkich, nie zarchwizowanych wątkach. (50tysięcy postów * ~170 dni).
              • bogunia0 Re: Dlaczego wyszukiwarka ma opóźnienie? 24.06.05, 12:16
                > Opracowując symulację, nie zapomnij o "bagażu" w postaci słownika z terminami
                > użytymi we wszystkich, nie zarchwizowanych wątkach. (50tysięcy postów * ~170 dn
                > i).

                Nie bardzo rozumiem, o co Ci chodzi z tymi 170 dniami. Byłbym wdzięczny za
                odpowiedź. Może być na priva, jeśli chcesz.

                b
Pełna wersja