1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lengchuan-Linux-Tutorial

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Solr-Install-And-Settings.md 11 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 23:55 959b30e

Solr установка и конфигурация

Solr установка

  • Официальный сайт: https://lucene.apache.org/solr/
  • На данный момент (20160329) последняя стабильная версия Solr — 5.5.0
  • Скачать с официального сайта: http://www.apache.org/dyn/closer.lua/lucene/solr/5.5.0
  • Руководство для новичков на официальном сайте: https://lucene.apache.org/solr/quickstart.html
  • Я обычно создаю каталог setups в каталоге /opt для хранения пакетов программного обеспечения, а каталог program в каталоге /usr для хранения распакованных пакетов программного обеспечения. Все дальнейшие инструкции основаны на этой привычке.
  • Перед установкой Solr убедитесь, что у вас установлен JDK. В моём случае это JDK 7.
  • Сначала откройте порт брандмауэра:
    • Добавьте правило: sudo iptables -A INPUT -p tcp -m tcp --dport 8983 -j ACCEPT
    • Сохраните правило: sudo service iptables save
    • Перезапустите iptables: sudo service iptables restart
  • В данном примере я использую solr-4.10.2.zip (размер: 148 M):
    • Распакуйте: unzip solr-4.10.2.zip
    • Перенесите в мой каталог установки: mv solr-4.10.2/ /usr/program/
    • Перейдите в каталог после распаковки: cd /usr/program/solr-4.10.2/example/
    • Запустите тестовый пример Solr: java -jar start.jar
    • Откройте браузер и перейдите по адресу: *http://192.168.1.115:8983/solr*/. Если вы видите страницу Solr, значит, всё прошло успешно.
    • Добавьте данные в тестовый пример Solr по умолчанию: cd /usr/program/solr-4.10.2/example/exampledocs ; java -jar post.jar solr.xml monitor.xml
    • Теперь вы можете выполнять запросы к Solr в Core collection1 и видеть некоторые данные.

Создание нового Core в Solr

  • Перейдите в каталог: cd /usr/program/solr-4.10.2/example
  • Создайте новый проект: mkdir ssm-solr
  • Скопируйте файл конфигурации: cp /usr/program/solr-4.10.2/example/solr/solr.xml /usr/program/solr-4.10.2/example/ssm-solr
  • Создайте каталоги Core и два каталога для конфигурации и данных: mkdir -p /usr/program/solr-4.10.2/example/ssm-solr/user/conf /usr/program/solr-4.10.2/example/ssm-solr/user/data
  • Скопируйте файл конфигурации: cp /usr/program/solr-4.10.2/example/solr/collection1/core.properties /usr/program/solr-4.10.2/example/ssm-solr/user/
  • Отредактируйте файл конфигурации: vim /usr/program/solr-4.10.2/example/ssm-solr/user/core.properties. Измените имя с name=collection1 на name=user. Это имя вашего нового Core.
  • Настройте IK-анализатор:
    • Файл IKAnalyzer-2012-4x.jar находится в каталоге /usr/program/solr-4.10.2/example/solr-webapp/webapp/WEB-INF/lib.
  • Скопируйте файлы конфигурации: cp /usr/program/solr-4.10.2/example/solr/collection1/conf/schema.xml /usr/program/solr-4.10.2/example/ssm-solr/user/conf/ cp /usr/program/solr-4.10.2/example/solr/collection1/conf/solrconfig.xml /usr/program/solr-4.10.2/example/ssm-solr/user/conf/*
  • Отредактируйте файл конфигурации schema.xml:
<?xml version="1.0" encoding="UTF-8" ?>

<schema name="example" version="1.5">
    
    <field name="_version_" type="long" indexed="true" stored="true"/>
    <field name="_root_" type="string" indexed="true" stored="false"/>
    
    
    <field name="sysUserId" type="long" indexed="true" stored="true" required="true" multiValued="false" /> 
    <field name="sysUserLoginName" type="text_ik" indexed="true" stored="true"/>
    <field name="sysUserRealName" type="text_ik" indexed="true" stored="true"/>
    <field name="sysUserEmail" type="string" indexed="true" stored="true"/>
    <field name="sysUserMobile" type="string" indexed="true" stored="true"/>
    <field name="sysUserRegisterDatetime" type="long" indexed="true" stored="true"/>
    
    
    <uniqueKey>sysUserId</uniqueKey>
    
    
    
    <!--IK分词器-->
    <!--把 indexed="true" 适合做搜索的,并且需要分词的,type改为text_ik-->
    <fieldType name="text_ik" class="solr.TextField">
        <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
    </fieldType>
    
    <!-- solrQueryParser 可以指定搜索时多个词之间的关系,可以是 (AND|OR) 两种,默认是 OR,表示或的关系。-->
    <!-- 假设在 OR 的情况,我们搜索:小米 手机。则只要含有:小米 或者是:手机的内容都会出现,比如出现:小米手环-->
    <!-- 假设在 OR 的情况,我们搜索:小米 手机。则必须含有:小米 和 手机,两个关键字的内容-->
    <solrQueryParser defaultOperator="AND"/>

    
    <fieldType name="string" class="solr.StrField" sortMissingLast="true" />
    <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
    <!--<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>-->
    <!--<fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/>-->
    <!--<fieldType name="float" class="solr.TrieFloatField" precisionStep="0" positionIncrementGap="0"/>-->
    <!--<fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0"/>-->
    <!--<fieldType name="date"

В этом тексте содержатся фрагменты кода, которые не удалось перевести. Пожалуйста, уточните запрос, если требуется перевод этих фрагментов. **Конфигурация Solr**

1. Отредактируйте конфигурационный файл: `vim /usr/program/solr-4.10.2/example/ssm-solr/user/conf/solrconfig.xml`.

2. Измените содержимое файла следующим образом:
    * Все теги `<lib>` закомментируйте, например, с помощью китайского комментария.
    * Замените все `<str name="df">text</str>` на `<str name="df">sysUserLoginName</str>`, где sysUserLoginName — это одно из имён полей, определённых в schema.xm. df обозначает поле по умолчанию.
    * Также закомментируйте содержимое тега `<searchComponent name="elevator" class="solr.QueryElevationComponent">`.

``` xml
<?xml version="1.0" encoding="UTF-8" ?>
<config>
    <luceneMatchVersion>4.10.2</luceneMatchVersion>
    <!--
      注释掉这一段
      <lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />
      <lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />
      <lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />
      <lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />
      <lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />
      <lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />
      <lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />
      <lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />
    -->

    <dataDir>${solr.data.dir:}</dataDir>
    ...
    ...
``` **name="spellcheck.dictionary">wordbreak</str>**

**<str name="spellcheck">on</str>**  

**<str name="spellcheck.extendedResults">true</str>** 

**<str name="spellcheck.count">10</str>**   

**<str name="spellcheck.alternativeTermCount">5</str>**    

**<str name="spellcheck.maxResultsForSuggest">5</str>**     

**<str name="spellcheck.collate">true</str>**      

**<str name="spellcheck.collateExtendedResults">true</str>**       

**<str name="spellcheck.maxCollationTries">10</str>**         

**<str name="spellcheck.maxCollations">5</str>**           

</lst>

<arr name="last-components">
    <str>spellcheck</str>
</arr>

В запросе представлен фрагмент конфигурации для системы Solr, которая используется для полнотекстового поиска и анализа данных. В нём задаются параметры проверки орфографии и настройки поиска по словарю.

Конкретно в этом фрагменте определяются следующие параметры:
* **spellcheck** — включает проверку орфографии;
* **spellcheck.extendedResults** — разрешает показывать альтернативные варианты слов;
* **spellcheck.count** — задаёт максимальное количество результатов поиска;
* **spellcheck.alternativeTermCount** — определяет количество альтернативных вариантов слов для каждого основного слова;
* **spellcheck.maxResultsForSuggest** — ограничивает количество предлагаемых вариантов для исправления ошибок;
* **spellcheck.collate** и **spellcheck.collateExtendedResults** — включают сортировку результатов поиска по алфавиту;
* **spellcheck.maxCollationTries** и **spellcheck.maxCollations** — ограничивают количество попыток сортировки и количество отсортированных результатов соответственно. ```
class="solr.VelocityResponseWriter" startup="lazy"/>
    <queryResponseWriter name="xslt" class="solr.XSLTResponseWriter">
        <int name="xsltCacheLifetimeSeconds">5</int>
    </queryResponseWriter>
    <admin>
        <defaultQuery>*:*</defaultQuery>
    </admin>
</config>
  • Остановите только что запущенную тестовую программу solr, нажав Ctrl + C.
  • Перезапустите: cd /usr/program/solr-4.10.2/example/ ; java -Dsolr.solr.home=ssm-solr -jar start.jar
  • Посетите заново, и мы увидим, что новый Core уже можно использовать.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/lengchuan-Linux-Tutorial.git
git@api.gitlife.ru:oschina-mirror/lengchuan-Linux-Tutorial.git
oschina-mirror
lengchuan-Linux-Tutorial
lengchuan-Linux-Tutorial
master