Temat: Implementacja własnego full-text search?
Krzysztof Torenc:
[...]
Prawda, nie musi - nikt nie twierdzi że jest inaczej.
PS. Na postgre UNION-y są, więc choć nie sprzadzałem to idę o zakład że działają ;)))))
>
No właśnie SQL to taki "standard", że każda baza różnie rozumie takie rzeczy. W przypadku union - pokaże duplikaty, czy nie? Szybkość, indeksy...
W drugą stranę na oraclu nie ma np. ilike, ale co to zmienia ?
Można rzecz skroić SQLem na kilka sposobów - ja zrobiłęm to na uniach, gdyz takie wyjście wydawało mi się najwygodniejsze.
Podaję rozwiązanie + przykłady jakie znam. Czyli jednak zgadłem z tym Oraclem. :)
Pytajacy prosił o wskazówki, realizowałem temat zatem dostarczyłem wskazówkę :)
No, jak bym nie wiedział o co chodzi... pewnie bym się nie zorientował, ale nic to, pewnie pytający i tak tego nie przeczyta.
Po trzecie - pełnoprawne rozwiązanie FTS wykorzystuje indeksy GIS. Po co cała ta gimnastyka, skoro może to zrobić baza danych? Oczywiście - szybciej? PostgreSQL ma takie coś: http://www.postgresql.org/docs/current/static/tsearch2... Specjalnie nie podawałem tego linka. Jak ktoś ma problem ze znalezieniem tutoriala, może mieć problem z przebrnięciem przez PG, i skonfigurowaniem tsearcha.
cóż, mógł bym odpowiedzieć koledze w ten sam sposób: to, że cos jest na Postgre to nie znaczy ze np. MySQL czy cokolwiek innego również to ma :))))
Tyle, że dokładnie podaję gdzie działa a nie wspomnę, że ilike i każdy ma się domyślić, co miałem na myśli. Niby szczegół, ale jak ktoś nie siedzi w temacie... a przecież pisze się po to, żeby pomóc. Ja rozumiem, moja baza - mój świat. Ostatnio tak na IRCu komuś radziłem i ktoś inny mnie naprostował. Jako, że mam optykę poprawioną to mnie kole... :)))
a po co cała ta gimnastyka ? w poscie pytajacego stoi: "... Mnie interesuje napisanie własnego rozwiązania (bo tak :) z podejściem czysto SQLowym ..."
A poza tym to fajne jest :)
Jak by nie miało tak być - to bym polecił wyszukiwanie pełnotekstowe jakie MySQL ma w standardzie. Badziewne strasznie, ale ma parę zalet. Pierwsza jest taka, że jest. Druga to to, że łatwo się uruchamia. A w działaniu... Jak ktoś używa Allegro - mówię o oznaczeniach produktów np. "F-16" można zapisać na kilka sposobów. Jak się nie poda dokładnego "słowa" to baza nie znajdzie. A do analizy leksykalnej jeszcze dość daleko. Chociaż w tym przypadku spell-check powinien sobie poradzić bez problemu. Indeksowany tekst można sprowadzić do postaci kanonicznej - każdy wyraz, osobno. Przy szukaniu wystarczy tak zrobić tylko z wyrazem szukanym. Teoretycznie... W praktyce sprawa jest mocno niebanalna. Bo przecież ten spell-checker nie poradzi sobie ze zwrotami "F16", "F-16", "F - 16" - w taki sam sposób. O! i w tym miejscu zaczynają się ciekawe rzeczy :D
I tym optymistycznym akcentem chciałbym nieśmiało zaproponować zakończenie... :) A w każdym razie przeniesienie dyskusji na priv.