Czasami to co oferują Lucene i Solr mogą okazać się niewystarczające. Wtedy musimy sami rozszerzyć możliwości w/w i przygotować kawałek własnego kodu. W dzisiejszym wpisie postaram się pokazać, jak przygotować własny filtr i jak użyć go w Solr.
Author: Rafał Kuć
Solr 4.0: DirectSolrSpellChecker
Jedną z nowości, która zostanie zaprezentowana w Solr 4.0, jest nowy rodzaj SpellChecker’a, który nie potrzebuje własnego indeksu. Postanowiłem przyjrzeć się jego konfiguracji i działaniu.
Apache Lucene i Solr 3.6
Solr 4.0 i możliwości analizy języka polskiego
Ze względu na to, iż wsparcie dla języka polskiego w Lucene (i Solr) jest już od jakiegoś czasu, postanowiłem przyjrzeć się jak zmieni się to wraz z premierą Lucene i Solr w wersji 4.0.
Solr 3.6: CurrencyField
Solr 3.6 przyniesie ciekawą funkcjonalność w postaci obsługi walut. Ktoś mógłby zapytać: „Po co ? Przecież wystarczy typ zmiennoprzecinkowy i mamy obsługę walut”. Przyjrzyjmy się zatem co da nam solr.CurrencyField w Solr 3.6.
Użycie parametrów cache=false i cost w zapytaniach
Prosta wyszukiwarka zdjęć
Mieliśmy niedawno okazję pomocy przy tworzeniu niekomercyjnego projektu, którego częścią była wyszukiwarka. Jednym z założeń, trochę pobocznych, było wyszukiwanie zdjęć, aby korzystający mogli bardzo szybko dotrzeć do interesujących ich obrazów. Wyszukiwarka miała działać w oparciu o meta dane zapisane w plikach JPEG, tak więc wybór był jasny – Apache Solr oraz Apache Tika.
Do czego może przydać się tie w Dismax’ie ?
Dismax parser obecny jest w Solr od niepamiętnych czasów. W większości wypadków jednak korzystamy z parameterów takich, jak qf, pf, czy mm zapominając zupełnie o bardzo przydatnym parametrze pozwalającym kontrolować wpływ mniej ważnych pól na score dokumentu, czyli o parametrze tie.
Identyfikacja języka dokumentu
Solr 4.0: Realtime GET
Kolejną funkcjonalnością, jakiej postanowiłem się przyjrzeć, w związku ze zbliżającym się Solr 4.0, jest tzw. „Realtime Get”. Jest to funkcjonalność umożliwiająca wyszukiwanie danych, które nie zostały jeszcze dodane do indexu, czyli po ich indeksowaniu nie zostało wysłane polecenie commit. Spójrzmy zatem, jak to działa.