W poprzednim poście z tej serii opisaliśmy funkcjonalność grupowania wyników wyszukiwania. Dzisiaj chciałbym pokazać jak łatwo możemy ustalić ilość wygenerowanych grup i jak sortować dokumenty wewnątrz grupy.
Problem „głębokiego” stronicowania
Wyobraźmy sobie następujący problem – mamy aplikację, która oczekuje od Solr zwracania posortowanych po pewnym polu wyników, które będą następnie stronicowane. Jednak, jeżeli osoba korzystająca z aplikacji wybierze od razu dziesiątą, dwudziestą, czy pięćdziesiątą stronę wyników wyszukiwania pojawia się problem długiego oczekiwania na wyniki wyszukiwania. Czy jest coś co możemy z tym zrobić ? Tak, możemy trochę pomóc Solr.
Aplikacja „sprzedaż samochodów” – Result Grouping, czyli grupowanie wyników wyszukiwania (cz. 6)
W dzisiejszym poście postaramy się dodać do naszej aplikacji sprzedaży samochodów kolejną funkcjonalność, która będzie polegała na grupowaniu wyników wyszukiwania. Wyobraźmy sobie sytuację, że użytkownik chciałby na zapytanie „Audi A4” otrzymać wyniki pogrupowane np. po roku produkcji, tak aby widział po 2-3 wyniki wyszukiwania dla każdego roku. A może grupowanie po zakresach przebiegu auta ? Zajmijmy się tym tematem.
Lucene i Solr 3.3
Minęło dopiero kilka tygodnia od wydania wersji 3.2 (lista zmian), a na serwerach Apache Software Foundation (oraz mirrorach) można znaleźć wersję 3.3 biblioteki Lucene oraz opartego na niej silnika wyszukiwania Solr. W najnowszej wersji zostało zawartych kilka ciekawych funkcjonalności, szczególnie jeżeli chodzi o Solr. Lista moim zdaniem najważniejszych zmian w rozwinięciu.
Kiedy należy commitować ?
Pytanie jakie ostatnio sobie zadałem, wydaje się jednym z tych na które odpowiedź powinna być szybka i bezproblemowa. Tak więc, kiedy należy wysyłać polecenie commit do Solr (lub Lucene) ? Pomimo prostoty pytania, odpowiedź nie jest moim zdaniem jednoznaczna.
Solr 3.1: FastVectorHighlighting
Jedną z wielu nowych funkcjonalności jakie przyniosła wersja 3.1 biblioteki Lucene i serwera wyszukiwania Solr jest FastVectorHighlighting, czyli nic innego jak usprawnione funkcjonalności odpowiedzialne za highlighting. Ze względu na to, że obecny dotychczas w Solr highlighting nie dość, że nie działał zbyt szybko, to mówiąc wprost potrafił zabić Solr przy dużej ilości danych, bądź bardzo długich polach tekstowych. Stwierdziłem, że warto przetestować wydajność nowej funkcjonalności.
Lucene i Solr 3.2
W sobotę 03.06.2011 została opublikowana najnowsza wersja biblioteki Lucene oraz oparty na niej silnik wyszukiwania Solr, oznaczone numerem 3.2. W stosunku do wersji 3.1 nie należy spodziewać się rewolucji, jednak warto wiedzieć co się zmieniło. Lista najważniejszych moim zdaniem zmian w rozwinięciu.
Krótkie spojrzenie: frange
W Solr 1.4 pojawił się nowy typ zapytań funkcyjnych zwanych frange. Służą one do wyszukiwania informacji z danego przedziału. Według twórców Solr zapytania te powinny być znacznie szybsze (w niektórych przypadkach testy wykazały nawet 40-krotny wzrost wydajności) od zwykłych zapytań. Stwierdziłem, że przeprowadzę prosty test sprawdzający, czy można spodziewać się takich wzrostów wydajności w przypadku zapytań o przedziały.
Aplikacja „sprzedaż samochodów” – SpellCheckComponent – czy naprawdę miałeś to na myśli ? (cz. 5)
Nadszedł czas, abyśmy dodali do naszej aplikacji sprzedaży samochodów kolejną ważną funkcjonalność. Będzie to mechanizm sprawdzania poprawności wpisanej frazy wyszukiwania oraz podpowiadania frazy poprawnej. Funkcjonalność ta stała się już standardem we wszystkich silnikach wyszukiwania, zatem i my zrobimy z niej użytek.
Solr filtry: PatternReplaceCharFilter
Kontynuując przeglad filtrów dostępnych w Solr dziś przyglądamy się pracy PatternReplaceCharFilter.
Jak łatwo się domyślić zadaniem filtra jest zamiana w strumieniu wejściowym tych fragmentów, które pasują do danego wyrażenia regularnego.