-
wojboj
Hey.
Czy ktos z Was ma doswiadczenia z wyszukiwarkami/libami do wyszukiwania w javie?
Potrzebuje czegos skalowalnego, co pozwoli na wyszukiwanie posrod danych w SQLu.
Dotychczas uzywalem lucene...
ale niestety pomijajac pamieciozernosc przy indeksowaniu
(indeks ponad 200 000 rekordów) przy zapytaniach zawierajacych AND, OR i ponad 3 wyrazenia (+ wyszukiwanie po roznych polach) mechanizm przestal dobrze dzialac.
I tu pytanie do praktykow - znacie jakies inne biblioteki, probowaliscie moze wykorzystac do wyszukiwania baze danych (w koncu tam wszystkie dane mam, wiec to by sporo uproscilo)
a jesli tak to czy sa jakies problemy z bardziej skomplikowanymi zapytaniami i ew. konwersja zapytania uzytkownika (krowa -ciele +mleko) do zapytan dla bazy ((tytul regexp "krowa" OR tresc regexp "krowa") AND NOT (tytul regexp "krowa" OR tresc regexp "krowa") AND (tytul regexp "mleko" OR tresc regexp "mleko")
i jak ew. rozwiazaliscie sytuacje nie 100% trafien (zapytanie ktore uwzgledni tez brak mleka w przykladzie wyzej).
Czy jest sens w ogole isc w takim kierunku?
A moze jakis lucene-hacker tutaj?; ) -
Lipson Earl Grey
nie do konca rozumiem twoj problem z lucene, tam z baza danych laczysz sie tylko podczas indeksowania, indeks zapisujesz na dysku (zwykle) a podczas dzialania lucene operuje na indeksie tylko, pamieciożerne jest cholerstwo strasznie, to prawda. Jak czesto indeksujesz i jak lugo to trwa? czy przypadkiem nie "store"'ujesz w indeksie za duzo informacji? moze mozna jakos popracowac nad pobieraniem danych z bazy podczas indeksowania, moze tu jest problem -
wojboj
problem z lucene to nie pamieciozernosc (ramu mozna dokupic),
ale bledy przy zapytaniach 3-argumentowych.
krowa +mleko -trawa nie daje poprawnych wyników
(np. "krowa +mleko" daje np. 80, "krowa +mleko +trawa" daje 30, "krowa +mleko -trawa" daje 60)
Moze po prostu powinienem zglosic problem do autorow, ale to nie pierwsze moje problemy z lucene.
(przy kazdym upgrade do kolejnej wersji lucene musze cos zmieniac w aplikacji i mnie zaczyna wkurzac ze sam musze dochodzic do tego, co sie zmienilo w API bo nie widzialem jeszcze nigdzie do tego dokumentacji).
W kazdym razie zastanawiam sie nad wykorzystaniem fulltekstowego wyszukiwania z mysql 4...
i tu wlasnie pytanie czy ktos to juz uzywal, czy tu tez moga wyskoczyc problemy przy skalowalnosci
(moje zapytania do lucene mogą zajmować pół ekranu - dla mysqla zajmą pewnie znacznie więcej; ))
Ew. czy ktos zna jakies inne rozwiazania.
A co do Twoich pytan (pewnie Cie to ciekawi) - indeks robi sie na żądanie, zwykle robi sie 5 godzin
i w pewnym momencie wymagało uruchomienia ręcznego odśmiecania.
Optymalizować indeksu za bardzo sie nie da. (a nawet jeśli to to już zrobie na etapie wykańczania - na razie mam problem "wiarygodności" wyników dawanych przez lucene).
-
Anonim
Mysmy indeksowali okolo 5GB informacji w plikach pdf html i worda i nie trzeba bylo nic odsmiecac (pewnie zle zaimplementowales)
Co do krow to radze poszukac dobrze informacji o stemmerach bo mogles wybrac zly. Najlepiej pobaw sie nimi albo zrob swoj. My nie napotkalismy nigdy takich zonkow. Cos musiales zle zrobic.
W kazdym badz razie Lucyna nie jest zla ale musi byc umiejetnie uzyta
P.S.
Pracowalismy na niej i na Oraclu -
-
wojboj
hmm. Poszukam, ale jak rozumiem domyslnie nie jest wybrany żaden?
I jak dlugich zapytan uzywasz? Po ilu polach? (tylko tresc czy tez macie inne pola zaindeksowane)
Jak rozumiem to 5GB informacji to wiecej niz 100 000 rekordow?
Moge gdzies potestowac czy faktycznie dluzsze zapytania u Was dzialaja jak trzeba?; )
A tak ps. co do "stabilnosci" lucene - rowniez changelog z wersji 1.4.3 nie swiadczy zbyt dobrze o tym projekcie.
-
Anonim
Korzystalismy z selektywnego filtra tresci z uzyciem kwantyfikatorow logicznych oraz opracowalismy search po dacie formacie pliku a takze udalo nam sie zaimplementowac szukanie po wielkosci (wszystkie te pola byly z kwantyfikatorem konkretyzującym)
Co do stemmera jezeli nie uzyjesz poprawnie skonfigurowanego to moze dziwnie interpretowac np znaki polskie ponadto nie wytnie bezsensownych fraz w stylu "i" "oraz"
Ponadto zalecane jest pozbywanie sie i skladowanie wyrazow bez polskich ogonkow (znacznie upraszcza wyszukiwanie choc moze czasmi zmniejszyc hit accuracy)
5GB informacji zostalo wczytane z dysku twardego mojego komputera w kilka godzin i zamapowane jako wirtualny drive z wykorzystaniem bazy danych Oracle (cos takiego jak Microsoft chce zrobic w Longhornie - baza danych udaje naped dyskowy)
Co do stabilnosci Lucene nie przetestowalismy jej doglebnie pod katem dostepu wielowatkowego ale tez nie spotkalismy sie z wywrotkami silnika - jak dla mnie to dziala ok
Niestety nie mozesz przetestowac bo kod ktory napisalismy jest wlasnoscia HP :)
- Przeglądaj grona w kategorii Internet i Komputery
- Przeglądaj grona w okolicy Warszawa
- Załóż własne grono tematyczne
- Zostań moderatorem
Podobne Tematy
|
|
Wszystko co związane z programowaniem w Java (J2EE, JSP, JDBC, itd) test
Miejsca grona (1)
-
Kino Luna ul. Marszałkowska, Warszawa
www.kinoluna.pl kino.luna@maxfilm.com.pl 22 621 78 28
- Dodaj miejsce

