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.

Read more

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.

Read more

Aplikacja „sprzedaż samochodów” – Unicode Collation, czyli sortowanie wyników wyszukiwania uwzględniając język danych (cz. 4)

W trzeciej części cyklu dodaliśmy dane lokalizacyjne oraz informacje o miejscowości, z którego pochodzi auto. Wkrótce potem dodaliśmy również możliwość sortowania po miejscowości, w prosty sposób modyfikując schemę:

Okazało się jednak, że sortowanie po miejscowości (pole city_sort) nie funkcjonuje tak jak powinno, a wszystko ze względu na występowanie w nazwach miast polskich znaków. Co z tym zrobić ?

Read more

Aplikacja „sprzedaż samochodów” – WordDelimiterFilter i PatternReplaceFilter, czyli na ratunek jakości wyników (cz. 2)

W pierwszej części naszego cyklu stworzyliśmy pewną standardową strukturę indeksu, odpowiednio konfigurując plik schema.xml. Przy takiej konfiguracji, na pierwsze skargi klientów, dotyczących działania silnika wyszukiwawczego nie trzeba było długo czekać. Dlaczego wpisując w kryteria wyszukiwania frazę „audi a” nie otrzymuję ofert związanych z autami „Audi A6” lub „Audi A8” ? Wpisałem „Honda crv” – 0 wyników. „Suzuki maruti” – też nic. Czy takich ofert nie ma w bazie z ogłoszeniami ? Otóż są, ale konfiguracja typu pola, po którym wyszukujemy (pole „content” – typ „text”) uniemożliwia w obecnym stanie znalezienie tych ogłoszeń przy zastosowaniu powyższych zapytań. Na pomoc rusza nam

Read more

Aplikacja „sprzedaż samochodów” – projektowanie schema.xml dla naszych potrzeb (cz. 1)

Podstawowym plikiem konfiguracyjnym solr, który jest niejako łącznikiem pomiędzy tym czego potrzebujemy, a tym co rozumie solr, jest plik schema.xml. Dobre zaprojektowanie schema.xml jest głównym czynnikiem warunkującym poprawne funkcjonowanie wyszukiwarki, która będzie w stanie zrealizować wszystkie wymagania, jakie przed nią stawiamy. Zacznijmy zatem kolejny cykl artykułów, poświęconych projektowaniu pliku schema.xml jak i również wszystkich składników wchodzących w skład zdefiniowanych przez nas typów pól.

Read more