1. Analiza języka polskiego w Solr

    Maciej Kłak,

    Nie ma jednej recepty na analizę języka w Solr. Tak na prawdę wszystko zależy od kontekstu. Inaczej sprawa będzie przedstawiać się w przypadku przeszukiwania obszernych tekstów inaczej krótkich zwartych fraz. Odmiennie, jeśli dane w kolekcji są w jakiś sposób zarządzane, lub są to teksty wpisywane przez użytkowników.
    (więcej…)

  2. Funkcja do pobierania cen w Solr

    Maciej Kłak,

    W trakcie prac nad nową wyszukiwarką w mojej obecnej pracy, natrafiłem na problem związany z aktualnością danych. Dokładniej, chodzi o sortowanie produktów po cenie, która w zależności od aktywnych (przyszłych) promocji, może ulec zmianie.

    Odstęp między kolejnymi cyklami indeksacji był na tyle spory, że dane z dużym prawdopodobieństwem byłyby niespójne. Rozwiązaniem problemu okazało się zapisanie przyszłych cen produktu w specjalnym formacie oraz napisanie funkcji w Solr, która będzie w stanie je odczytywać.
    (więcej…)

  3. Debugowanie Solr

    Maciej Kłak,

    Dokumentacja Solr jest bardzo obszerna (blisko tysiąc stron w formie PDF), kod źródłowy otwarty, pomimo to, czasami zachodzi potrzeba sprawdzenia „jak to działa” na żywym organizmie. Debugowanie plików wchodzących w skład projektu dla osób, które na co dzień programują w Java to bułka z masłem. Jednak osobiście param się głównie PHP oraz JS w związku z czym nie wszystko od początku było dla mnie jasne.

    Poniższy poradnik skierowany jest dla osób mojego pokroju czyt. z podstawową znajomością Java. Dalszy tekst będzie bazował na InteliJ IDEA co jest zrozumiałe jako, że na co dzień korzystam z PhpStorma:)
    (więcej…)

  4. Morfologik – usuwanie skrótów ze słownika

    Maciej Kłak,

    Korzystając z Morfologika jako stemmera Solr należy być świadomym, że w swoim słowniku zawiera również skróty. Niesie to ze sobą efekt, który nie zawsze jest pożądany. Dla przykładu, wyszukując frazę „office pl” otrzymujemy tokeny [office, pl, plac].
    Co prawda można skorzystać z mechanizmu wyrazów chronionych, ale chyba lepszy rozwiązaniem jest usunięcie skrótów bezpośrednio ze słownika Morfologika.

    (więcej…)

  5. Integracja Morfologika z Solr

    Maciej Kłak,

    Skorzystanie z Morfoligika w Solr 6.6.0 podążając zgodnie z dokumentacją wydaje się być bardzo proste. Ot co wystarczy zdefiniować filtr w pliku managed-schema, dla przykładu:

    Odświeżamy core i …
    (więcej…)

  6. Schemat dla komunikatu LIOCZ

    Maciej Kłak,

    Całkiem niedawno NFZ zmieniło wygląd swojej strony internetowej. Podoba mi się. W stosunku do poprzedniej wersji, przeskok technologiczny o przynajmniej dekadę:) Szkoda tylko, że treść pozostała bez zmian, a przynajmniej jeśli chodzi o komunikaty XML.

    Swojego czasu musiałem zweryfikować poprawność komunikatów typu LIOCZ. Sam komunikat jest plikiem XML, więc naturalnym sposobem weryfikacji jest XML Schema. Niestety, NFZ oferuje jedynie opis struktury w postaci tekstowej (plik MS Word). Próbowałem pozyskać schematy u samego źródła czyt. Wydział Informatyki oddziału w Poznaniu. Niestety Panowie twierdzili, że nie mają takich plików (!), mogą mi jedynie zweryfikować dane na „żywym organizmie”. Oczywiście, ze względu na mnogość plików nie interesowało mnie to, musiałem sam stworzyć odpowiednie schematy, z których możecie skorzystać. (więcej…)

  7. Polskie formy wyrazów dla Sphinx

    Maciej Kłak,

    Polski język trudna język. Na obecną chwilę Sphinx (wersja 2.2.9) nie oferuje żadnego lematyzatora oraz stemmera dla języka polskiego. Sytuacja pewnie szybko się nie zmieni, zatem jesteśmy zmuszeni korzystać z pliku wordforms.

    Autorzy Sphinxa oprócz niezbędnych programów oferują również narzędzie spelldump, które w założeniu ma służyć do tworzenia pliku wordforms w oparciu o słownik ispell lub MySpell. Jak pokazują doświadczenia, nie jest to rozwiązanie idealne, szerzej na ten temat możesz przeczytać na blogu Allegro.

    Niestety nie znalazłem nigdzie gotowane pliku bazującego na odmianach polskich słów, zatem postanowiłem go stworzyć samemu.

    Owoc mojej pracy wraz z konfiguracją znajdziesz na Githubie. Dodam tylko, że plik współpracuje tylko z najnowszą wersją Sphinxa.

  8. Aero2 na Lenovo x200s

    Maciej Kłak,

    Jeśli jesteś szczęśliwym posiadaczem Lenovo x200s, oraz nosisz się z zamiarem skorzystania z usługi Aero2, to muszę Cię zmartwić. Nie będzie łatwo.

    Czekają Cię dodatkowe koszty, rozbieranie laptopa, instalacja BIOS … ale czego się nie robi dla darmowego transferu rzędu 512 kb/s, oraz kodów CAPCHA co godzinę:)

    (więcej…)

  9. Sposób na komunikaty sieciowe w CyanogenMod

    Maciej Kłak,

    Brandowane systemy nie są niczym dobry. Wie o tym każdy kto kupił nowego laptopa lub smartfona. Niezliczona ilość dodatkowego oprogramowania oraz modyfikacji w moim odczuciu nie służy niczemu dobremu. Jest wprost przeciwnie.

    Przejście na CynanogenMod 11.0 w moim Samsung S3 poskutkowało zaskakującym skokiem wydajności, użyteczności, lekkości itd. :)

    Widok Root Browser w CyanogenMod 11

    (więcej…)

  10. Twitter Bootstrap 3 Helper

    Maciej Kłak,

    Tworzenie skórki bloga stało się dobrą okazją, aby przetestować nowości w Tweeter Bootstrap 3. Podział kolumn na grupy wyświetlane w zależności od szerokości okna, jest jak dla mnie super pomysłem. Niestety w trakcie implementacji trudno oszacować jaka kolumna jest obecnie wyświetlana. Oczywiście można się posiłkować kodem podobnego do poniższego, jednak na dłuższą metę żonglerka jest trochę uciążliwa.

    Pomyślałem, że warto by napisać dodatek do Firefox-a, które rozwiąże ten problem… Tak też uczyniłem:)
    (więcej…)