Установка Solr в Unix/Linux

Установка Solr в Unix/Linux

Solr (произносится «солар») — ПО для полнотекстового поиска. Данная утилита имеет открытый исходный код на JAVA, и имеет Apache Lucene.

Основные функции Solr:

  • Полнотекстовый поиск,
  • Подсветка результатов,
  • Распределенная индексация,
  • Балансировка нагрузки,
  • Фасетный поиск,
  • Динамическая кластеризация,
  • Интеграция с базами данных,
  • Обработка документов со сложным форматом (например, Word, PDF),
  • Автоматическое восстановление после отказа и восстановление данных,
  • Имеет централизованное управление конфигурацией.

Т.к в солре есть репликация и распределенный поиск, данная тулза отлично маштабируется.

Так как в Solr есть возможность распределенного поиска и репликации, Solr хорошо масштабируем. По состоянию на май 2016 года Solr является вторым по популярности поисковым движком. У Solr есть HTTP/XML и JSON API, что делает возможным использовать Solr из всех популярных языков программирования. Также Solr можно очень гибко настраивать и подключать к нему внешние модули.

Установка Solr в CentOS/Fedora/RedHat

Сейчас я, выполню установку и настройку базовую конфигурацию Apache Solr на CentOS 7.

Первое что необходимо сделать перед установкой солара — установить JAVA. Я описывал процесс установки в своих статьях:

Установка JAVA (JDK) на CentOS/RHEL/Fedora

Узнать размер Java Heap Memory Size

Установка переменных JAVA_HOME / PATH в Linux

И так, смотрим какая версия джавы имеется на ОС:

# java -version

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

Сейчас необходимо скачать сам solr, по этому — выполняем команду:

# cd /usr/local/src && wget http://apache.org/dist/lucene/solr/7.1.0/solr-7.1.0.tgz

PS: На момент написания статьи, используеться самая новая версия ПО.

Выполняем расспаковку:

$ tar xfvz solr-*.tgz

Смотрим что имеется:

[root@centos7 src]# ll
total 148908
drwxr-xr-x. 9 root root       201 Nov  9 23:33 solr-7.1.0
-rw-r--r--. 1 root root 152481397 Oct 13 22:21 solr-7.1.0.tgz
[root@centos7 src]# 

И, собственно — запускаем установку:

# cd  solr-7.1.0 && bash bin/install_solr_service.sh --strip-components=2 ../solr-7.1.0.tgz

Вывод:

id: solr: no such user
Creating new user: solr

Extracting ../solr-7.1.0.tgz to /opt


Installing symlink /opt/solr -> /opt/solr-7.1.0 ...


Installing /etc/init.d/solr script ...


Installing /etc/default/solr.in.sh ...

Service solr installed.
Customize Solr startup configuration in /etc/default/solr.in.sh
Waiting up to 180 seconds to see Solr running on port 8983 [\]  
Started Solr server on port 8983 (pid=118389). Happy searching!

    
Found 1 Solr nodes: 

Solr process 118389 running on port 8983
{
  "solr_home":"/var/solr/data",
  "version":"7.1.0 84c90ad2c0218156c840e19a64d72b8a38550659 - ubuntu - 2017-10-13 16:15:59",
  "startTime":"2017-11-09T21:37:04.167Z",
  "uptime":"0 days, 0 hours, 0 minutes, 7 seconds",
  "memory":"40.3 MB (%8.2) of 490.7 MB"}

Проверим, запустился ли сервер:

# service solr status

Found 1 Solr nodes: 

Solr process 118389 running on port 8983
{
  "solr_home":"/var/solr/data",
  "version":"7.1.0 84c90ad2c0218156c840e19a64d72b8a38550659 - ubuntu - 2017-10-13 16:15:59",
  "startTime":"2017-11-09T21:37:04.167Z",
  "uptime":"0 days, 0 hours, 2 minutes, 30 seconds",
  "memory":"23.7 MB (%4.8) of 490.7 MB"}

Для остановки используем:

# service solr stop

Для запуска, можно использовать:

# service solr start

Или, чтобы выполнить перезапуск, выполните:

# service solr restart

Добавим порт в Firewall

По умолчанию (я ничего не менял), солар использует 8983-й порт и его нужно добавить в межсетевой интерфейс. Т.к я использую CentOS 7, то данное действие будет выглядеть следующим образом:

# firewall-cmd --zone=public --add-port=8983/tcp --permanent
# firewall-cmd --reload

PS: Если имеется CentOS 5/6 — выполните:

# iptables -A INPUT -p tcp -s localhost --dport 8983 -j ACCEPT
# iptables -A INPUT -p tcp --dport 8983 -j DROP
# service iptables save

Проыерям что соединения идут:

# netstat -natpl|grep 8983
tcp        0      0 192.168.13.211:43532    192.168.13.211:8983     ESTABLISHED 118943/kdeinit4: ki 
tcp        0      0 192.168.13.211:43524    192.168.13.211:8983     ESTABLISHED 118939/kdeinit4: ki 
tcp        0      0 192.168.13.211:43528    192.168.13.211:8983     ESTABLISHED 118941/kdeinit4: ki 
tcp        0      0 192.168.13.211:43530    192.168.13.211:8983     ESTABLISHED 118942/kdeinit4: ki 
tcp        0      0 192.168.13.211:43526    192.168.13.211:8983     ESTABLISHED 118940/kdeinit4: ki 
tcp6       0      0 :::8983                 :::*                    LISTEN      118389/java         
tcp6       0      0 192.168.13.211:8983     192.168.13.211:43530    ESTABLISHED 118389/java         
tcp6       0      0 192.168.13.211:8983     192.168.13.211:43532    ESTABLISHED 118389/java         
tcp6       0      0 192.168.13.211:8983     192.168.13.211:43526    ESTABLISHED 118389/java         
tcp6       0      0 192.168.13.211:8983     192.168.13.211:43528    ESTABLISHED 118389/java         
tcp6       0      0 192.168.13.211:8983     192.168.13.211:43524    ESTABLISHED 118389/java         

Как видно с вывода — у меня все отлично.

Добавим службу в автозагрузку:

# systemctl enable solr.service

PS: Если имеется CentOS 5/6 — выполните:

# chkconfig --add solr
# chkconfig | grep solr

Настройка — завершена.

Установка Solr в Debian/Ubuntu

Первое что необходимо сделать перед установкой солара — установить JAVA. Я описывал процесс установки в своих статьях:

Узнать размер Java Heap Memory Size

Установка переменных JAVA_HOME / PATH в Linux

Установка Java на Debian/Ubuntu/Mint

Установка JAVA 9 (JDK9) на Debian/Ubuntu/LinuxMint

И так, смотрим какая версия джавы имеется на ОС:

# java -version

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

Сейчас необходимо скачать сам solr, по этому — выполняем команду:

# cd /usr/local/src && wget http://apache.org/dist/lucene/solr/7.1.0/solr-7.1.0.tgz

PS: На момент написания статьи, используеться самая новая версия ПО.

Выполняем расспаковку:

$ tar xfvz solr-*.tgz

Смотрим что имеется:

[root@Debian8 src]# ll
total 148908
drwxr-xr-x. 9 root root       201 Nov  9 23:33 solr-7.1.0
-rw-r--r--. 1 root root 152481397 Oct 13 22:21 solr-7.1.0.tgz
[root@Debian8 src]# 

И, собственно — запускаем установку:

# cd  solr-7.1.0 && bash bin/install_solr_service.sh --strip-components=2 ../solr-7.1.0.tgz

Проверим, запустился ли сервер:

# service solr status

Для остановки используем:

# service solr stop

Для запуска, можно использовать:

# service solr start

Или, чтобы выполнить перезапуск, выполните:

# service solr restart

Добавим порт в Firewall

По умолчанию (я ничего не менял), солар использует 8983-й порт и его нужно добавить в межсетевой интерфейс. Т.к я использую Debian 8 (такие же действия и на новых версиях Ubuntu), то данное действие будет выглядеть следующим образом:

# firewall-cmd --zone=public --add-port=8983/tcp --permanent
# firewall-cmd --reload

PS: Если имеется более ранние версии ОС — выполните:

# iptables -A INPUT -p tcp -s localhost --dport 8983 -j ACCEPT
# iptables -A INPUT -p tcp --dport 8983 -j DROP
# service iptables save

Проыерям что соединения идут:

# netstat -natpl|grep 8983

Как видно с вывода — у меня все отлично.

Добавим службу в автозагрузку:

# systemctl enable solr.service

PS: Если имеется CentOS 5/6 — выполните:

# chkconfig --add solr
# chkconfig | grep solr

Настройка — завершена.

Установка Solr в Mac OS X

Ставим brew для начала — Установка brew в Mac OS X и потом выполняем поиск пакета:

$ brew search solr

У меня вывод следующий:

==> Searching local taps...
homebrew/php/php53-solr  homebrew/php/php54-solr  homebrew/php/php55-solr  homebrew/php/php56-solr  homebrew/php/php70-solr  homebrew/php/php71-solr  solr                     solr@5.5
==> Searching taps on GitHub...
==> Searching blacklisted, migrated and deleted formulae...

Чтобы поставить пакет, используем:

$ brew install solr

И осталось настроить….

Настройка Solr в Unix/Linux

И так, установку выполнили и solr сервер работает. Сейчас я создам 1-й мой core (имя которго — test_solr_core):

# su -c "/opt/solr/bin/solr create -c test_solr_core -n solrconfig.xml" -s /bin/sh solr

Created new core 'test_solr_core'

Давайте попробуем использовать его! Открываем ссылку:

http://192.168.13.211:8983

Где:

  • 192.168.13.211 — мой локальный IP. Можете использовать домен.
  • 8983 — Порт на котором висит соляр.

Получаем что-то типа:

первый запуск solr в Unix/Linux

первый запуск solr в Unix/Linux

Так же, можно передать Solr дополнительные параметры JVM, например:

# su -c '/opt/solr/bin/solr start -a "-Xdebug -Xrunjdwp:transport=dt_socket, server=y,suspend=n,address=1044"' -s /bin/sh solr

Запустите Solr с заданным значением MAXHEAP min (-Xms) и max (-Xmx) для JVM:

# su -c '/opt/solr/bin/solr start -m 1g' -s /bin/sh solr

Можно передать порт:

# su -c '/opt/solr/bin/solr start -p 8655' -s /bin/sh solr

Чтобы проверить все ли впорядке (правильно ли установился solr, правильные ли имеет права и т.д и т.п) используйте:

# su -c '/opt/solr/bin/solr assert --exists /opt/solr' -s /bin/sh solr

Можно запустить хелз_чек и проверить что и как работает, например:

# su -c '/opt/solr/bin/solr healthcheck -c gettingstarted' -s /bin/sh solr

Получим вывод:

{
  "collection":"gettingstarted",
  "status":"healthy",
  "numDocs":0,
  "numShards":2,
  "shards":[
    {
      "shard":"shard1",
      "status":"healthy",
      "replicas":[
        {
          "name":"core_node2",
          "url":"http://192.168.13.211:7574/solr/gettingstarted_shard1_replica_n1/",
          "numDocs":0,
          "status":"active",
          "uptime":"0 days, 0 hours, 1 minutes, 40 seconds",
          "memory":"100.4 MB (%20.5) of 490.7 MB"},
        {
          "name":"core_node4",
          "url":"http://192.168.13.211:8983/solr/gettingstarted_shard1_replica_n3/",
          "numDocs":0,
          "status":"active",
          "uptime":"0 days, 0 hours, 1 minutes, 45 seconds",
          "memory":"108.9 MB (%22.2) of 490.7 MB",
          "leader":true}]},
    {
      "shard":"shard2",
      "status":"healthy",
      "replicas":[
        {
          "name":"core_node6",
          "url":"http://192.168.13.211:7574/solr/gettingstarted_shard2_replica_n5/",
          "numDocs":0,
          "status":"active",
          "uptime":"0 days, 0 hours, 1 minutes, 40 seconds",
          "memory":"100.9 MB (%20.6) of 490.7 MB"},
        {
          "name":"core_node8",
          "url":"http://192.168.13.211:8983/solr/gettingstarted_shard2_replica_n7/",
          "numDocs":0,
          "status":"active",
          "uptime":"0 days, 0 hours, 1 minutes, 45 seconds",
          "memory":"109 MB (%22.2) of 490.7 MB",
          "leader":true}]}]}

Скопируем конфиг (сделаем бэкап файла):

# cp  /opt/solr/server/etc/jetty.xml{,_BK}

Открываем файл:

# vim /opt/solr/server/etc/jetty.xml

Находим строку:

 <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>

И заменяем на:

                 <!-- <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/> -->
                 <!-- here begins ip securing -->
                 <New class="org.eclipse.jetty.server.handler.IPAccessHandler">
                   <Call name="addWhite">
                     <!-- list of args with ip-addresses -->
                     <Arg>127.0.0.1</Arg>
                   </Call>
                   <Call name="addWhite">
                     <!-- list of args with ip-addresses -->
                     <Arg>192.168.13.211</Arg>
                   </Call>
                   <Call name="addWhite">
                     <!-- list of args with ip-addresses -->
                     <Arg>0.0.0.0/8</Arg>
                   </Call>
                   <Set name="handler">
                     <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
                   </Set>
                 </New>
                 <!-- end of securing -->

И перезапускаем соляр:

# service solr restart

PS: Не забываем добавить правило в SELinux, ну или выключите его вообще, вот пример — отключить SELinux на CentOS

Только для указанных IP адресов, будет доступен соляр, а для всех остальных покажет:

HTTP ERROR: 403
Problem accessing /solr/. Reason: 
    Forbidden

Запуск Solr в режиме SolrCloud

Чтобы запустить solr в режиме SolrCloud, используем следующую команду:

# /opt/solr/bin/solr -e cloud

Если не получиться запустить, всегда можно использовать «-force» ключ:

# /opt/solr/bin/solr start -e cloud -force

PS: Запуст соляра от рута — не желателен, по этому, выполняем:

# su -c "/opt/solr/bin/solr start -e cloud -force" -s /bin/sh solr

Пример моей тестовой конфигурации:

# su -c "/opt/solr/bin/solr start -e cloud -h 192.168.13.211" -s /bin/sh solr

Welcome to the SolrCloud example!

This interactive session will help you launch a SolrCloud cluster on your local workstation.
To begin, how many Solr nodes would you like to run in your local cluster? (specify 1-4 nodes) [2]: 

Ok, let's start up 2 Solr nodes for your example SolrCloud cluster.
Please enter the port for node1 [8983]: 

Please enter the port for node2 [7574]: 

Solr home directory /opt/solr/example/cloud/node1/solr already exists.
/opt/solr/example/cloud/node2 already exists.

Starting up Solr on port 8983 using command:
"/opt/solr/bin/solr" start -cloud -p 8983 -s "/opt/solr/example/cloud/node1/solr" -h 192.168.13.211

Waiting up to 180 seconds to see Solr running on port 8983 [\]  
Started Solr server on port 8983 (pid=19345). Happy searching!

    
Starting up Solr on port 7574 using command:
"/opt/solr/bin/solr" start -cloud -p 7574 -s "/opt/solr/example/cloud/node2/solr" -h 192.168.13.211 -z localhost:9983

/opt/solr/bin/solr: line 2017: /var/solr/solr-7574.pid: Permission denied
Waiting up to 180 seconds to see Solr running on port 7574 [\]  
Started Solr server on port 7574 (pid=19547). Happy searching!

INFO  - 2017-11-20 22:38:49.070; org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider; Cluster at localhost:9983 ready

Now let's create a new collection for indexing documents in your 2-node cluster.
Please provide a name for your new collection: [gettingstarted] 
techproducts
How many shards would you like to split techproducts into? [2]

How many replicas per shard would you like to create? [2] 

Please choose a configuration for the techproducts collection, available options are:
_default or sample_techproducts_configs [_default] 
sample_techproducts_configs
Re-using existing configuration directory techproducts
Created collection 'techproducts' with 2 shard(s), 2 replica(s) with config-set 'techproducts'

Enabling auto soft-commits with maxTime 3 secs using the Config API

POSTing request to Config API: http://192.168.13.211:8983/solr/techproducts/config
{"set-property":{"updateHandler.autoSoftCommit.maxTime":"3000"}}
Successfully set-property updateHandler.autoSoftCommit.maxTime to 3000


SolrCloud example running, please visit: http://192.168.13.211:8983/solr 

# 

Данный пример взят из официальной документации. Идем дальше…

Запускаем индекс techproducts данных:

# /opt/solr/bin/post -c techproducts /opt/solr/example/exampledocs/*


java -classpath /opt/solr/dist/solr-core-7.1.0.jar -Dauto=yes -Dc=techproducts -Ddata=files org.apache.solr.util.SimplePostTool /opt/solr/example/exampledocs/books.csv /opt/solr/example/exampledocs/books.json /opt/solr/example/exampledocs/gb18030-example.xml /opt/solr/example/exampledocs/hd.xml /opt/solr/example/exampledocs/ipod_other.xml /opt/solr/example/exampledocs/ipod_video.xml /opt/solr/example/exampledocs/manufacturers.xml /opt/solr/example/exampledocs/mem.xml /opt/solr/example/exampledocs/money.xml /opt/solr/example/exampledocs/monitor2.xml /opt/solr/example/exampledocs/monitor.xml /opt/solr/example/exampledocs/more_books.jsonl /opt/solr/example/exampledocs/mp500.xml /opt/solr/example/exampledocs/post.jar /opt/solr/example/exampledocs/sample.html /opt/solr/example/exampledocs/sd500.xml /opt/solr/example/exampledocs/solr-word.pdf /opt/solr/example/exampledocs/solr.xml /opt/solr/example/exampledocs/test_utf8.sh /opt/solr/example/exampledocs/utf8-example.xml /opt/solr/example/exampledocs/vidcard.xml
SimplePostTool version 5.0.0
Posting files to [base] url http://localhost:8983/solr/techproducts/update...
Entering auto mode. File endings considered are xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log
POSTing file books.csv (text/csv) to [base]
POSTing file books.json (application/json) to [base]/json/docs
POSTing file gb18030-example.xml (application/xml) to [base]
POSTing file hd.xml (application/xml) to [base]
POSTing file ipod_other.xml (application/xml) to [base]
POSTing file ipod_video.xml (application/xml) to [base]
POSTing file manufacturers.xml (application/xml) to [base]
POSTing file mem.xml (application/xml) to [base]
POSTing file money.xml (application/xml) to [base]
POSTing file monitor2.xml (application/xml) to [base]
POSTing file monitor.xml (application/xml) to [base]
POSTing file more_books.jsonl (application/json) to [base]/json/docs
POSTing file mp500.xml (application/xml) to [base]
POSTing file post.jar (application/octet-stream) to [base]/extract
POSTing file sample.html (text/html) to [base]/extract
POSTing file sd500.xml (application/xml) to [base]
POSTing file solr-word.pdf (application/pdf) to [base]/extract
POSTing file solr.xml (application/xml) to [base]
POSTing file test_utf8.sh (application/octet-stream) to [base]/extract
POSTing file utf8-example.xml (application/xml) to [base]
POSTing file vidcard.xml (application/xml) to [base]
21 files indexed.
COMMITting Solr index changes to http://localhost:8983/solr/techproducts/update...
Time spent: 0:00:03.276
# 

Чтобы найти что-то в поиске, используем:

http://localhost:8983/solr/#/techproducts/query

В моем случае:

http://192.168.13.211:8983/solr/#/techproducts/query

Но это выполнение в самом браузере. Солр поддерживает поиск и через консоль, для этого, выполняем:

$ curl "http://localhost:8983/solr/techproducts/select?indent=on&q=*:*"
$ curl "http://192.168.13.211:8983/solr/techproducts/select?indent=on&q=*:*"

Все работает, идем дальше.

Давайте попробуем поискать что-то конкретное, например:

# curl "http://192.168.13.211:8983/solr/techproducts/select?q=foundation"

Или:

# curl "http://192.168.13.211:8983/solr/techproducts/select?q=foundation&fl=id"

Еще пример:

# curl "http://192.168.13.211:8983/solr/techproducts/select?q=cat:electronics"

Поиск по фразе, можно замутить вот так:

# curl "http://192.168.13.211:8983/solr/techproducts/select?q=\"CAS+latency\""

Для объединение поисков можно использовать:

# curl "http://192.168.13.211:8983/solr/techproducts/select?q=%2Belectronics%20%2Bmusic"

Если вы используете curl, вы должны закодировать символ +, поскольку он имеет зарезервированную цель в URL-адресах (кодируя символ пробела). Кодировка для + будет равна %2B.

ИЛИ:

# curl "http://192.168.13.211:8983/solr/techproducts/select?q=%2Belectronics+-music"

Иногда бывает так, что он не может получить нужные директории из-за того, что нехватает прав — исправить можно:

# chown -R solr:solr /opt/solr*

Чтобы удалить созданный пример, используем:

# su -c "/opt/solr/bin/solr delete -c techproducts" -s /bin/sh solr

Т.к это был тостовый пример, то я его удалил…. И создаю новую коллекцию:

# su -c "/opt/solr/bin/solr create -c My_new_collection -s 2 -rf 2" -s /bin/sh solr

Получаем вывод:

WARNING: Using _default configset. Data driven schema functionality is enabled by default, which is
         NOT RECOMMENDED for production use.

         To turn it off:
            curl http://localhost:7574/solr/My_new_collection/config -d '{"set-user-property": {"update.autoCreateFields":"false"}}'
Created collection 'My_new_collection' with 2 shard(s), 2 replica(s) with config-set 'My_new_collection'

Давайте сейчас вольем в новую колекцию некоторые данные:

# curl -X POST -H 'Content-type:application/json' --data-binary '{"add-field": {"name":"name", "type":"text_general", "multiValued":false, "stored":true}}' http://192.168.13.211:8983/solr/My_new_collection/schema

{
 "responseHeader":{
 "status":0,
 "QTime":2152}}

Можно поиграться с кверями, но мы идем дальше…..

Перед тем как мы начнем индексирование, создаем поле «catchall» селдующим образом:

# curl -X POST -H 'Content-type:application/json' --data-binary '{"add-copy-field" : {"source":"*","dest":"_text_"}}' http://192.168.13.211:8983/solr/My_new_collection/schema

После чего, перейдем к индексированию (для JSON):

# /opt/solr/bin/post -c My_new_collection /opt/solr/example/films/films.json

PS: Делаем от юзера:

# su -c "/opt/solr/bin/post -c My_new_collection /opt/solr/example/films/films.json " -s /bin/sh solr

java -classpath /opt/solr/dist/solr-core-7.1.0.jar -Dauto=yes -Dc=My_new_collection -Ddata=files org.apache.solr.util.SimplePostTool /opt/solr/example/films/films.json
SimplePostTool version 5.0.0
Posting files to [base] url http://localhost:8983/solr/My_new_collection/update...
Entering auto mode. File endings considered are xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log
POSTing file films.json (application/json) to [base]/json/docs
1 files indexed.
COMMITting Solr index changes to http://localhost:8983/solr/My_new_collection/update...
Time spent: 0:00:02.317

После чего, перейдем к индексированию (для XML):

# /opt/solr/bin/post -c My_new_collection /opt/solr/example/films/films.xml

PS: Делаем от юзера:

# su -c "/opt/solr/bin/post -c My_new_collection /opt/solr/example/films/films.xml" -s /bin/sh solr
java -classpath /opt/solr/dist/solr-core-7.1.0.jar -Dauto=yes -Dc=My_new_collection -Ddata=files org.apache.solr.util.SimplePostTool /opt/solr/example/films/films.xml
SimplePostTool version 5.0.0
Posting files to [base] url http://localhost:8983/solr/My_new_collection/update...
Entering auto mode. File endings considered are xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log
POSTing file films.xml (application/xml) to [base]
1 files indexed.
COMMITting Solr index changes to http://localhost:8983/solr/My_new_collection/update...
Time spent: 0:00:00.977

Помимо предоставления результатов поиска, запрос Solr может возвращать количество документов, содержащих каждое уникальное значение во всем результирующем наборе. Например, выполним квери для работы с facet:

# curl "http://192.168.13.211:8983/solr/My_new_collection/select?q=*:*&rows=0&facet=true&facet.field=genre_str"

Еще одно:

# curl "http://192.168.13.211:8983/solr/My_new_collection/select?=&q=*:*&facet.field=genre_str&facet.mincount=200&facet=on&rows=0"

Для остановки всех нод что запустили, выполняем:

# su -c "/opt/solr/bin/solr stop -all" -s /bin/sh solr

Я на дополню данную статью при первой необходимости.

Вот и все, статья «Установка Solr в Unix/Linux» завершена.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.