Apache Solr

Урок за Apache Solr

Урок за Apache Solr
В този урок ще видим как можем да използваме Apache Solr за съхраняване на данни и как можем да изпълняваме различни заявки към него.

Какво е Apache Solr

Apache Solr е една от най-популярните бази данни NoSQL, която може да се използва за съхраняване на данни и заявки в почти реално време. Базиран е на Apache Lucene и е написан на Java. Подобно на Elasticsearch, той поддържа заявки към бази данни чрез REST API. Това означава, че можем да използваме прости HTTP повиквания и да използваме HTTP методи като GET, POST, PUT, DELETE и т.н. за достъп до данни. Той също така предоставя възможност за получаване на данни под формата на XML или JSON чрез REST API.

Архитектура: Apache Solr

Преди да започнем работа с Apache Solr, трябва да разберем компонентите, които съставляват Apache Solr. Нека да разгледаме някои компоненти, които има:

Архитектура на Apache Solr

Имайте предвид, че само основните компоненти за Solr са показани на горната фигура. Нека разберем и тяхната функционалност тук:

Първи стъпки с Apache Solr

За да започнете да използвате Apache Solr, той трябва да бъде инсталиран на машината. За да направите това, прочетете Инсталиране на Apache Solr на Ubuntu.

Уверете се, че имате активна инсталация на Solr, ако искате да изпробвате примери, които представяме по-късно в урока и администраторската страница е достъпна на localhost:

Начална страница на Apache Solr

Вмъкване на данни

За начало нека разгледаме колекция в Solr, която наричаме linux_hint_collection. Не е необходимо да се дефинира изрично тази колекция, тъй като когато вмъкнем първия обект, колекцията ще бъде направена автоматично. Нека опитаме нашето първо извикване на REST API, за да вмъкнем нов обект в имената на колекцията linux_hint_collection.

Вмъкване на данни

curl -X POST -H 'Тип съдържание: application / json'
'http: // localhost: 8983 / solr / linux_hint_collection / update / json / docs' --data-binary '

"id": "iduye",
"name": "Shubham"
'

Ето какво получаваме обратно с тази команда:

Команда за вмъкване на данни в Solr

Данните могат да се вмъкнат и чрез началната страница на Solr, която разгледахме по-рано. Нека опитаме това тук, за да са ясни нещата:

Поставете данни чрез началната страница на Solr

Тъй като Solr има отличен начин за взаимодействие с HTTP RESTful API, ние ще демонстрираме взаимодействие с DB, използвайки същите API отсега нататък и няма да се фокусираме много върху вмъкването на данни през уеб страницата на Solr.

Списък на всички колекции

Можем да изброим всички колекции в Apache Solr, като използваме и REST API. Ето командата, която можем да използваме:

Списък на всички колекции

къдрене http: // localhost: 8983 / solr / admin / колекции?действия = СПИСЪК & wt = json

Нека видим изхода за тази команда:

Тук виждаме две колекции, които съществуват в нашата инсталация Solr.

Вземете обект по ID

Сега нека видим как можем да ВЗЕМЕМ данни от колекцията Solr с конкретен ID. Ето командата REST API:

Вземете обект по ID

curl http: // localhost: 8983 / solr / linux_hint_collection / get?id = iduye

Ето какво получаваме обратно с тази команда:

Вземете всички данни

В последния ни REST API ние проверихме данни, използвайки конкретен идентификатор. Този път ще получим всички данни в нашата колекция Solr.

Вземете обект по ID

curl http: // localhost: 8983 / solr / linux_hint_collection / select?q = *: *

Ето какво получаваме обратно с тази команда:

Забележете, че сме използвали '*: *' в параметъра на заявката. Това указва, че Solr трябва да върне всички данни, налични в колекцията. Дори ако сме посочили, че всички данни трябва да бъдат върнати, Solr разбира, че в колекцията може да има голямо количество данни и така, ще върне само първите 10 документа.

Изтриване на всички данни

Досега всички API, които опитахме, използваха JSON формат. Този път ще опитаме с XML формат на заявка. Използването на XML формат е изключително подобно на JSON, тъй като XML също е самоописателен.

Нека опитаме команда, за да изтрием всички данни, които имаме в нашата колекция.

Изтриване на всички данни

curl "http: // localhost: 8983 / solr / linux_hint_collection / update?commit = true "-H" Content-Type: text / xml "--data-binary" *: * "

Ето какво получаваме обратно с тази команда:

Изтрийте всички данни с помощта на XML заявка

Сега, ако отново се опитаме да получим всички данни, ще видим, че сега няма налични данни:

Вземете всички данни

Общ брой обекти

За последна команда CURL нека видим команда, с която можем да намерим броя на обектите, които присъстват в индекс. Ето командата за същото:

Общ брой обекти

curl http: // localhost: 8983 / solr / linux_hint_collection / query?отстраняване на грешки = заявка & q = *: *

Ето какво получаваме обратно с тази команда:

Пребройте броя на обектите

Заключение

В този урок разгледахме как можем да използваме Apache Solr и да предаваме заявки с помощта на curl както в JSON, така и в XML формат. Също така видяхме, че административният панел Solr е полезен по същия начин като всички команди за навиване, които проучихме.

Как да изтеглите и пуснете Civilization VI на Сид Майер на Linux
Въведение в играта Civilization 6 е модерен поглед върху класическата концепция, въведена в поредицата от игрите Age of Empires. Идеята беше доста про...
Как да инсталирате и играете Doom на Linux
Въведение в Doom Серията Doom възниква през 90-те години след пускането на оригиналния Doom. Това беше незабавен хит и от този момент нататък серията ...
Vulkan за потребители на Linux
С всяко ново поколение графични карти виждаме, че разработчиците на игри преместват границите на графичната вярност и се приближават една крачка до фо...