Automatyczne generowanie identyfikatora dokumentu w Solr 4.x

Kilka dni temu dostałem pytanie odnośnie automatycznego generowania identyfikatorów dokumentów w Solr 4.0 oraz nowszych. Postanowiliśmy napisać krótki wpis o tym, jak wygenerować identyfikator dokumentu automatycznie, korzystając z Solr 4.3.

Struktura danych

Struktura danych (sekcja fields pliku schema.xml) wygląda następująco:

Dodatkowo w pliku schema.xml definiujemy, które pole będzie przechowywać unikalny identyfikator:

Konfiguracja Solr

Następnie musimy zmodyfikować konfigurację Solr dodając odpowiedni UpdateRequestProcessorChain do pliku solrconfig.xml:

Tym samym informujemy Solr, iż chcemy aby pole id było automatycznie wygenerowane.

Mały test

Przetestujmy to co zrobiliśmy. W tym celu wyślemy jeden dokument do zaindeksowania za pomocą następującego polecenia:

Jeżeli wszystko poszło dobrze dokument został zaindeksowany. W związku z tym sprawdźmy, czy wygenerowany został identyfikator. Robimy to za pomocą następującego polecenia:

Odpowiedź na to zapytanie powinna wyglądać mniej, więcej tak:

Jak widać, identyfikator dokumentu został automatycznie wygenerowany. Jeżeli teraz uruchomilibyśmy indeksowanie jeszcze raz, czyli wykonali polecenie:

A następnie znów wykonali zapytanie:

W odpowiedzi otrzymalibyśmy dwa dokumenty:

Oba dokumenty mają zupełnie różne identyfikatory, które zostały wygenerowane automatycznie.

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.