Solr 4.2: Schema API

Wraz z premierą Solr 4.2 dostaliśmy możliwość wykorzystania protokołu HTTP do pobierania informacji o strukturze indeksu Solr. Oczywiście, jeżeli ktoś potrzebował takiej funkcjonalności przez Solr 4.2 mógł pobrać plik schema.xml za pomocą odpowiedniego zapytania, przetworzyć go i wydobyć szukane informacje. Wraz z premierą Solr 4.2 dostaliśmy jednak bardzo wygodne narzędzie za pomocą którego jesteśmy w stanie wydobyć interesujące nas informacje bez konieczności przetwarzania całego pliku schema.xml.

Możliwości

Przyjrzymy się zatem nowemu API.

Zwracanie informacji w formacie XML

Bardzo dużo użytkowników Solr przyzwyczajonych jest do tego, iż dane z Solr zwracane są domyślnie w formacie XML, co nie jest prawdą w przypadku opisywanego API, którego domyślny format zwracanych danych to JSON. Jeżeli chcemy, aby powyżej opisane informacje zwracane były w formacie XML należy do każdego z wymienionych zapytań dodać parametr wt=xml, na przykład:

Pobieranie zdefiniowanych pól

Zacznijmy od pobierania informacji na temat pól zdefiniowanych w indeksie. W tym celu udostępnione zostały dwie możliwości:

  1. Pobieranie informacji na temat wszystkich pól
  2. Pobieranie informacji na temat konkretnego pola

W pierwszym wypadku należy zadać następujące zapytanie:

W drugim przypadku wystarczy do powyższego zapytania dodać znak / oraz nazwę pola. Na przykład, aby pobrać dane na temat pola author należałoby wysłać następujące zapytanie:

Odpowiedź Solr na pierwsze zapytanie wygląda następująco:

Natomiast odpowiedź na zapytanie dotyczące pojedynczego pola wygląda następująco:

Pobieranie zdefiniowanych pól dynamicznych

Dokładnie tak samo, jak w powyższym przypadku wygląda sytuacja kiedy chcemy pobrać informacje na temat pól dynamicznych. Także i w tym przypadku mamy dwie możliwości:

  1. Pobranie informacji na temat wszystkich pól dynamicznych
  2. Pobranie informacji na temat konkretnego wzorca pola dynamicznego

W pierwszym wypadku należy zadać następujące zapytanie:

W drugim przypadku, podobnie jak wcześniej, dodajemy znak /, a następnie wzorzec:

Odpowiedź Solr na pierwsze zapytanie wygląda następująco:

Natomiast odpowiedź na zapytanie dotyczące pojedynczego pola wygląda następująco:

Pobieranie typów pól

Jak można się domyślać, podobnie jak w wyżej wymienionych przypadkach, tak samo w przypadku pobierania informacji na temat typów pól możemy dostać od Solr informacje na temat:

  1. Wszystkich typów pól zdefiniowanych w pliku schema.xml
  2. Pojedynczego zdefiniowanego typu

W pierwszym wypadku należy zadać następujące zapytanie:

W drugim przypadku, na dokładnie takiej samej zasadzie dodajemy znak /, a następnie nazwę typu:

Odpowiedź Solr na pierwsze zapytanie wygląda następująco:

Natomiast odpowiedź na zapytanie dotyczące pojedynczego pola wygląda następująco:

Jak widać ilość zwracanych informacji jest dość duża 🙂

Pobieranie informacji na temat sekcji copyField

Dodatkowo za pomocą opisywanego API jesteśmy w stanie pobrać informacje na temat sekcji copyField poprzez wysłanie następującego zapytania:

Odpowiedź na powyższe zapytanie jest następująca:

Przyszłość

W Solr 4.3 opisywane API zostało usprawnione oraz jest przygotowywane do umożliwienia zmian w strukturze indeksu za pomocą protokołu HTTP. Możemy zatem spodziewać się, iż w jednej z kolejnych wersji serwera wyszukiwania Solr otrzymamy możliwość łatwej zmiany struktury indeksu, przynajmniej takich, które nie będą powodować konfliktów z już zaindeksowanymi danymi.

One thought on “Solr 4.2: Schema API

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.