W związku ze zbliżającym się powoli wydaniem Apache Solr w wersji 4.0 uznałem, iż nadszedł czas, aby przybliżyć niektóre z funkcjonalności, jakie dostaniemy w swoje ręce wraz z premierą tej wersji silnika wyszukiwania. Na pierwszy ogień przyjrzymy się prostej, aczkolwiek przydatnej funkcjonalności nazwanej pseudo fields wraz z dodatkowymi możliwościami związanymi z parametrem fl.
Na początek
W Apache Solr 4.0 zmienił się nieznacznie sposób obsługi parametru fl – parametr może być podawany wielokrotnie. Wartości z wszystkich podanych do zapytania parametrów fl zostaną przez Solr połączone. Czasami będzie to przydatne, przynajmniej w moim przypadku.
Własne nazwy pól
Wraz z Solr 4.0 będziemy mieli możliwość nazywania pól, jakie zwracane są w Solr. Wyobraźmy sobie, że w zależności od kontekstu chcielibyśmy aby pola, które w indeksie nazywane są price_en, price_pl, czy price_fr były zwracane jako pole price. W Solr 4.0 możemy to zrobić w umieszczając następujący fragment w zapytaniu:
fl=price:price_pl
Spowoduje to, że pole price_pl, zostanie zwrócone jako pole o nazwie price.
Wszystkie pola o wspólnym początku nazwy
Jeżeli będziemy chcieli zwrócić, wraz z dokumentem, wszystkie pola, których nazwa zaczyna się np. od price (użyteczne w przypadku pól dynamicznych) wystarczy, że dodamy następującą wartość parametru fl w zapytaniu:
fl=price*
Zwracanie wartości funkcji
Ostatnia z funkcjonalności, którym przyjrzymy się dzisiaj, czyli możliwość dołączenia wyniku działania funkcji, jako pola dokumentu. Zatem w Solr 4.0 będziemy mieli możliwość dodania np. sumy cen, bądź wyliczonej odległości geograficznej pomiędzy dwoma punktami. Całkiem przydatne. Aby skorzystać z tej funkcjonalności wystarczy do parametru fl dodać odpowiednie wywołanie funkcji dostępnej w Solr, na przykład:
fl=*,stock:sum(stockMain,stockShop)
Co spowoduje zwrócenie wszystkich pól (wartość *) oraz pola o nazwie stock, które będzie sumą pól stockMain oraz stockShop.
Kilka słów na koniec
Oprócz opisanych powyżej, nowych funkcjonalności, parametru fl, jest jeszcze możliwość skorzystania DocTransformer. Opisanie tego zostawiłem sobie jednak na kolejny wpis o Apache Solr 4.0.