Apache Solr

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 16:40, 28 января 2018.
Solr
Solr logo
Разработчики: Apache Software Foundation
Постоянный выпуск: 7.0.0 / 20 September 2017 года; 2 years ago (2017-09-20)
Состояние разработки: Active
Написана на: Java
Операционная система: Кросс-платформенное
Платформа: JVM
Тип ПО: Search and index API
Лицензия: Apache License 2.0
Веб-сайт lucene.apache.org/solr/

Apache Solr - популярная, стремительно развивающаяся поисковая платформа с открытым исходным кодом, построенная на Apache Lucene™. Solr обладает высокой надежностью, масштабируемостью и отказоустойчивостью, обеспечивая распределенное индексирование, репликацию и балансировку нагрузки, автоматическое восстановление после сбоев, централизованную конфигурацию и многое другое. Solr поддерживает функции поиска и навигации многих крупнейших интернет-сайтов в мире. Так как в Solr есть возможность распределенного поиска и репликации, Solr хорошо масштабируем.[Источник 1]

Solr работает как автономный полнотекстовый поисковый сервер. Он использует библиотеку поиска Lucene Java в своей основе для полнотекстового индексирования и поиска, и имеет REST-подобные API HTTP / XML и JSON, которые делают его пригодным для использования на самых популярных языках программирования. Внешняя конфигурация Solr позволяет адаптировать ее ко многим типам приложений без Java-кодирования и иметь архитектуру плагина для поддержки более детальной настройки.

Apache Lucene и Apache Solr выпускаются одной и той же командой разработчиков Apache Software Foundation, поскольку эти два проекта были объединены в 2010 году. Обычно речь идет о технологии или продуктах Lucene/Solr или Solr/Lucene.

История

Solr был создан в 2004 году Йоником Сили (Yonik Seeley) в CNET Networks как внутренний проект для поиска по сайту компании. Затем Йоник Сили наряду с Грантом Инджерсоллом (Grant Ingersoll) и Эриком Хатчером (Erik Hatcher) создали компанию LucidWorks, оказывающую коммерческую поддержку и обучение Apache Solr’у.

В январе 2006 года CNET Networks решила открыть исходный код, передав его в ASF как проект, основанный на Lucene. Как и любой проект в ASF, Solr вошёл в инкубационный период, в течение которого решались организационные, правовые и финансовые вопросы.

В январе 2007 года Solr был выведен из инкубационного статуса и стал стабильно расти, привлекая сильное сообщество пользователей, разработчиков и спонсоров. Хотя это был довольно новый проект, Solr уже использовался в нескольких высоконагруженных веб-сайтах.[Источник 2]

В сентябре 2008 года состоялся выпуск Solr версии 1.3, включающий в себя многие улучшения, например возможность распределенного поиска и оптимизация производительности.[Источник 3]

В ноябре 2009 года состоялся выпуск Solr версии 1.4, включающий в себя оптимизации индексирования, полнотекстового и фасетного поиска, улучшена обработка документов со сложным форматом (PDF, Word, HTML), улучшена кластеризация результатов поиска, основанная на Carrot2, улучшена интеграция с базами данных.[Источник 4]


В марте 2010 года проекты Lucene и Solr были слиты в один. Теперь оба продукта совместно разрабатываются одной командой разработчиков.

В 2011 году была изменена схема версионирования Solr’а. С этого момента версия Solr соответствует версии Lucene: после версии 1.4 следующей версией стала 3.1.[Источник 5]

В октябре 2012 года выпущена версия Solr 4.0, включающая новый функционал SolrCloud.

В 2013 году было несколько релизов Solr: 4.1 в январе, 4.2 в марте, 4.2.1 в апреле и 4.3.0 в мае, включающие многие оптимизации, исправления ошибок, улучшения.

В феврале 2015 года был выпущен Solr 5.0, первый релиз, в котором Solr упакован как отдельное приложение. В Solr 5.3 реализована встроенная встраиваемая система аутентификации и авторизации.

В апреле 2016 года был выпущен Solr 6.0. Добавлена поддержка выполнения запросов Parallel SQL в коллекциях SolrCloud. Включает поддержку StreamExpression и новый драйвер JDBC для интерфейса SQL.

20 сентября 2017 года вышла версия 7.0. Этот выпуск, помимо прочего, добавил поддержку нескольких типов реплик, автомасштабирования и движка Math.

Основные возможности

  • Подсветка результатов поиска
  • Веб-интерфейс для администрирования
  • Использует библиотеку Lucene для полнотекстового поиска
  • Граничная навигация
  • Язык запросов поддерживает структурированный, а также текстовый поиск
  • Режим работы без схемы и схема REST API
  • JSON, XML, PHP, Ruby, Python, XSLT, Velocity и пользовательские двоичные выходные форматы Java через HTTP
  • Интерфейс администрирования HTML
  • Встроенная система безопасности: аутентификация, авторизация, SSL
  • Репликация на другие серверы Solr - позволяет масштабировать QPS и обеспечивает высокую доступность
  • Распределенный поиск через Sharding - позволяет масштабировать объем содержимого
  • Результаты поиска кластеров на основе Carrot2
  • Расширяем через плагины
  • Гибкая релевантность - повышение по функциональным запросам
  • Кэширование - запросы, фильтры и документы
  • Встраивается в Java-приложение
  • Геопространственный поиск, включая несколько точек на документы и полигоны
  • Автоматическое управление большими кластерами через ZooKeeper
  • Функциональные запросы
  • Свертывание и группировка полей
  • Авто-предложения
  • Streaming

Операции Apache Solr

Apache Solr - мощный инструмент с потрясающей возможностью поиска. Для поиска документа он последовательно выполняет следующие операции:

  • Индексирование: прежде всего, оно преобразует документы в машиночитаемый формат, который называется индексированием.
  • Запрос: понимание условий запроса, заданного пользователем. Этими терминами могут быть изображения, ключевые слова и многое другое.
  • Сопоставление: Solr сопоставляет пользовательский запрос с документами, хранящимися в базе данных, для поиска соответствующего результата.
  • Ранжирование результата: Как только движок найдет индексированные документы, он оценивает результаты в соответствии с их релевантностью.

Интеграция Solr

Solr поставляется в виде встроенного поиска во многих приложениях, таких как системы управления контентом и системы управления корпоративным контентом. Hadoop от Cloudera, Hortonworks и MapR все связывают Solr как поисковую систему для своих продуктов, продаваемых для больших данных.

DataStax DSE объединяет Solr как поисковую систему с Cassandra. Solr поддерживается в качестве конечной точки в различных структурах обработки данных и инфраструктур интеграции предприятия. Solr предоставляет отраслевые стандарты HTTP-REST-API с поддержкой как XML, так и JSON и будет интегрироваться с любой системой или языком программирования, поддерживающим эти стандарты. Для удобства использования существуют также клиентские библиотеки, доступные для Java, C#, PHP, Python, Ruby и большинства других популярных языков программирования.

Системные требования

  • Apache Solr работает на Java 8 или выше.
  • Рекомендуется всегда использовать последнюю версию версии вашей виртуальной машины Java, поскольку ошибки могут повлиять на Solr. Обзор известных ошибок JVM можно найти на http://wiki.apache.org/lucene-java/JavaBugs
  • Со всеми версиями Java настоятельно не рекомендуется использовать экспериментальные опции -XX JVM.
  • Требования к процессору, диску и памяти основаны на многих вариантах реализации Solr (размер документа, количество документов и количество найденных удалений). На странице контрольных показателей есть информация, связанная с производительностью на определенных платформах.

Публичные сайты, использующие Solr

Основано на Solr Wiki:[Источник 6]

  • Helprace использует Solr 4.0 для управления поисковой системой и поисковыми предложениями.
  • Openindex управляется кластером Apache Solr, чтобы обеспечить поиск сайтов для клиентов с миллионами URL-адресами.
  • Netflix использует Solr для своей функции поиска по сайту
  • FINN.no является ведущим официальным сайтом Норвегии, с категориями Недвижимость, Автомобили, Объявления, Вакансии, Путешествия и тд. Solr обеспечивает поиск и навигацию по каждой категории.
  • Норвежская налоговая администрация использует Solr для поиска по веб-сайту на основе EPI.
  • Dagens Næringsliv - ведущая финансовая газета Норвегии. Solr контролирует главный поиск новостей, а также налоговый список, винный клуб и многое другое.
  • TradeWinds - это интернет-газета, посвященная новостям о доставке, которую ведет норвежская NHST Media Group. Solr обеспечивает поиск новостей и поиск заданий.
  • ReCharge - это интернет-газета, посвященная возобновляемым/зеленым энергетическим новостям. Управляется норвежской NHST Media Group. Solr обеспечивает поиск новостей.
  • Akademika.no - это книжный магазин в Норвегии с акцентом на книги для студентов и школьников. Построен с помощью Drupal, и Solr обеспечивает поиск через плагин Drupal Solr.
  • Ovttas/Aktan/Aktesne использует Solr для грамотного поиска всех учебных материалов, доступных для языков Саами. Сайт предназначен для учителей Саами в Норвегии.

Конфигурирование Solr

С помощью SolrCloud большинство конфигурационных данных, отличных от solr.xml, хранятся в ZooKeeper. Приведенная ниже информация относится к Solr, когда она не работает в режиме облака. Solr сконфигурирован с использованием трех основных файлов:

  • solr.xml - Solr.xml 4.4 и выше или Solr.xml (поддерживается через 4.x)
  • solrconfig.xml - SolrConfigXml
  • schema.xml - SchemaXml

Центральный каталог для Solr известен как solr.solr.home или solr/home в конфигурациях контейнеров сервлетов. Если он не определен, то по умолчанию используется «./solr» - это каталог с именем solr в текущем рабочем каталоге.

Файл solr.xml - это первый файл конфигурации, который Solr пытается найти, и он находится в файле solr.solr.home. Это дает глобальную конфигурационную информацию Solr и сообщает, где найти ее ядра. Остальная часть конфигурации поступает из каждого определенного ядра. Если solr.xml не существует, Solr попытается начать работу в одноядерном режиме. Поддержка одноядерного режима, скорее всего, будет удалена в версии 5.0.

В каждом ядре Solr будет искать файл conf/solrconfig.xml. Solrconfig может указывать Solr на другие файлы конфигурации, например conf/dih-config.xml для обработчика dataimport. Если имя файла конфигурации не изменено в файле solrconfig.xml, для загрузки схемы будет использоваться conf/schema.xml.

Работа с Solr

Установка Solr

В целях данного руководства предполагается, что вы находитесь в среде Linux или Mac. У вас также должен быть установлен JDK 6 или выше.

wget http://download.nextag.com/apache/lucene/solr/5.3.0/solr-5.3.0.tgz
tar -zxvf solr-5.3.0.tgz
cd solr-5.3.0

Запуск Solr

Solr поставляется с примером каталога, который содержит некоторые примеры файлов, которые мы можем использовать. Доступны следующие примеры:

   cloud        : SolrCloud example
   dih          : Data Import Handler (rdbms, mail, rss, tika)
   schemaless   : Schema-less example (schema is inferred from data during indexing)
   techproducts : Kitchen sink example providing comprehensive examples of Solr features

Чтобы запустить Solr с одним из этих примеров, используйте bin / solr -e [ПРИМЕР], где [ПРИМЕР] является одним из указанных выше. например bin / solr -e dih. Давайте запустим пример techproducts.

bin/solr -e techproducts

Вы должны увидеть что-то подобное в терминале:

Creating Solr home directory /tmp/solrt/solr-5.3.0/example/techproducts/solr

Starting up Solr on port 8983 using command:
bin/solr start -p 8983 -s "example/techproducts/solr"

Waiting up to 30 seconds to see Solr running on port 8983 [/] 
Started Solr server on port 8983 (pid=12281). Happy searching!

    
Setup new core instance directory:
/tmp/solrt/solr-5.3.0/example/techproducts/solr/techproducts

Creating new core 'techproducts' using command:
http://localhost:8983/solr/admin/cores?action=CREATE&name=techproducts&instanceDir=techproducts

{
  "responseHeader":{
    "status":0,
    "QTime":2060},
  "core":"techproducts"}


Indexing tech product example docs from /tmp/solrt/solr-5.3.0/example/exampledocs
SimplePostTool version 5.0.0
Posting files to [base] url http://localhost:8983/solr/techproducts/update using content-type application/xml...
POSTing file money.xml to [base]
POSTing file manufacturers.xml to [base]
POSTing file hd.xml to [base]
POSTing file sd500.xml to [base]
POSTing file solr.xml to [base]
POSTing file utf8-example.xml to [base]
POSTing file mp500.xml to [base]
POSTing file monitor2.xml to [base]
POSTing file vidcard.xml to [base]
POSTing file ipod_video.xml to [base]
POSTing file monitor.xml to [base]
POSTing file mem.xml to [base]
POSTing file ipod_other.xml to [base]
POSTing file gb18030-example.xml to [base]
14 files indexed.
COMMITting Solr index changes to http://localhost:8983/solr/techproducts/update...
Time spent: 0:00:00.491

Solr techproducts example launched successfully. Direct your Web browser to http://localhost:8983/solr to visit the Solr Admin UI

Чтобы убедиться, что Solr запущен, вы можете сделать следующее:

bin/solr status

Что должно вывести на экран что-то вроде этого:

Found 1 Solr nodes:

Solr process 12281 running on port 8983
{
  "solr_home":"/tmp/solrt/solr-5.3.0/example/techproducts/solr/",
  "version":"5.3.0 1696229 - noble - 2015-08-17 17:10:43",
  "startTime":"2015-09-14T22:41:56.876Z",
  "uptime":"0 days, 0 hours, 1 minutes, 7 seconds",
  "memory":"32.7 MB (%6.7) of 490.7 MB"}

Solr теперь работает!

После запуска Solr вы можете перейти к его интерфейсу администратора с помощью браузера. Например:

Indexing Data

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

В папке example/exampledocs содержатся некоторые файлы XML, которые мы можем использовать.

Быстрый взгляд на один из файлов XML показывает, что каждый документ Solr состоит из нескольких полей. Каждое поле имеет имя и значение. Например:

<add><doc>
  <field name="id">9885A004</field>
  <field name="name">Canon PowerShot SD500</field>
  <field name="manu">Canon Inc.</field>
...
  <field name="inStock">true</field>
</doc></add>

Post.jar в той же папке обеспечивает удобный способ добавления файлов в Solr.

cd example/exampledocs
java -Dc=techproducts -jar post.jar sd500.xml

Это дает:

SimplePostTool version 5.0.0
Posting files to [base] url http://localhost:8983/solr/techproducts/update using content-type application/xml...
POSTing file sd500.xml to [base]
1 files indexed.
COMMITting Solr index changes to http://localhost:8983/solr/techproducts/update...
Time spent: 0:00:00.186

Этот ответ говорит о том, что операция POST прошла успешно. Обратите внимание, что есть два основных способа добавления данных в Solr:

  • HTTP
  • Native client

Поиск

Посмотрим, можем ли мы получить документ, который мы только что добавили.

Поскольку Solr принимает HTTP-запросы, вы можете использовать свой веб-браузер для общения с Solr: http://localhost:8983/solr/techproducts/select?q=sd500&wt=json Это возвращает следующий результат формата JSON:

{
    "responseHeader": {
        "status": 0,
        "QTime": 3,
        "params": {
            "q": "sd500",
            "wt": "json"
        }
    },
    "response": {
        "numFound": 1,
        "start": 0,
        "docs": [
            {
                "id": "9885A004",
                "name": "Canon PowerShot SD500",
                "manu": "Canon Inc.",
                "manu_id_s": "canon",
                "cat": [
                    "electronics",
                    "camera"
                ],
                "features": [
                    "3x zoop, 7.1 megapixel Digital ELPH",
                    "movie clips up to 640x480 @30 fps",
                    "2.0\" TFT LCD, 118,000 pixels",
                    "built in flash, red-eye reduction"
                ],
                "includes": "32MB SD card, USB cable, AV cable, battery",
                "weight": 6.4,
                "price": 329.95,
                "price_c": "329.95,USD",
                "popularity": 7,
                "inStock": true,
                "manufacturedate_dt": "2006-02-13T15:26:37Z",
                "store": "45.19614,-93.90341",
                "_version_": 1512330534874775600
            }
        ]
    }
}

Успешно! Быстрая проверка с помощью sd500.xml должна подтвердить, что все в порядке. Давайте теперь сделаем настоящий поиск. Вот демонстрация получения имени и идентификатора всех документов с помощью inStock = false: http://localhost:8983/solr/techproducts/select?q=inStock:false&wt=json&fl=id,name

{
    "responseHeader": {
        "status": 0,
        "QTime": 3,
        "params": {
            "fl": "id,name",
            "q": "inStock:false",
            "wt": "json"
        }
    },
    "response": {
        "numFound": 4,
        "start": 0,
        "docs": [
            {
                "id": "EN7800GTX/2DHTV/256M",
                "name": "ASUS Extreme N7800GTX/2DHTV (256 MB)"
            },
            {
                "id": "100-435805",
                "name": "ATI Radeon X1900 XTX 512 MB PCIE Video Card"
            },
            {
                "id": "F8V7067-APL-KIT",
                "name": "Belkin Mobile Power Cord for iPod w/ Dock"
            },
            {
                "id": "IW-02",
                "name": "iPod & iPod Mini USB 2.0 Cable"
            }
        ]
    }
}

Выключение

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

bin/solr stop 

Это полностью отключит Solr.

Solr достаточно надёжен, поэтому в ситуациях сбоев ОС или дисков маловероятно, что индекс Solr будет поврежден.

Интерфейс администратора Solr

Solr Links

Solr Link Отображения
SCHEMA Отображает файл схемы XML, который определяет коллекцию для этого экземпляра Solr
CONFIG Отображает конфигурационный файл Solr, solrconfig.xml
ANALYSIS Ссылки на графический интерфейс анализа полей для проверки того, как будут себя вести анализы для разных полей
STATISTICS Отображает подмножество данных, отображаемых на странице INFO. Эти данные изменяются, поскольку объекты собирают статистику с течением времени. См. SolrAdminStats
INFO Отображает страницу, отображающую данные в этих категориях:
  • CORE
  • КЭШ
  • Обработчики QUERY
  • Обработчики UPDATE
  • ДРУГИЕ

Информация на странице INFO не изменяется после запуска.

DISTRIBUTION Если вы просматриваете экземпляр Master, каждая строка отображает имя подчиненного устройства и моментальные снимки, которые он получил. Если вы посмотрите на экземпляр Slave, он отобразит одну строку, в которой будет отображаться имя последней попытки получить снимок с его мастера. См. Также CollectionDistribution
PING В случае успеха HTTP 200 возвращается в браузер, но ничего не отображается. В случае неудачи возвращается HTTP 500 (ошибка) и отображается сообщение об исключении
LOGGING Отображает страницу уровня журнала, которая позволяет вам устанавливать эти уровни:
  • ALL
  • CONFIG
  • FINE
  • FINER
  • FINEST
  • INFO
  • OFF
  • SEVERE
  • WARNING

Каждый вызывает action.jsp, который показывает, не удалось ли выполнить действие. В случае успеха отображается слово «successed», после чего вы вернетесь на домашнюю страницу администратора. Если не удалось, то на странице Действия отобразится ошибка. Подробную информацию о уровнях ведения журнала см. На странице SUN в Class Logger.

AppServer Links

Ссылка сервера приложений Отображает
PROPERTIES Отображает JSP, который содержит свойства виртуальной машины Java (JVM)
THREAD DUMP Отображает дамп потока сервера приложений
ENABLE/DISABLE Эта ссылка отображается только в том случае, если в блоке администратора конфигурации Solr появляется директива healthcheck

Make a Query Links

Создание ссылки запроса Значение
FULL INTERFACE Чтобы сделать более индивидуальный запрос, используйте страницу полного интерфейса, где вы можете указать следующее: полное заявление Solr / Lucene, версию протокола, начало строки, максимальное количество строк, тип запроса и таблицу стилей
Solr/Lucene Statement Используйте это поле для запроса на языке запросов Lucene. Для получения подробной информации о Lucene см. Страницу Lucene от Apache
Protocol Version Версия формата, используемая для возврата ответов. По умолчанию установлено последнее, в настоящее время 2.1
Start Row Нулевое смещение совпадающих документов для возврата
Maximum Rows Максимальное количество документов для возврата
Query Type Выбирает обработчик запроса для этого запроса. По умолчанию: * standard *

API Javadocs

Solr 7.0.1 solr-solrj API

Сервер поиска Apache Solr: Solr-j
Пакеты Описание
org.apache.solr.client.solrj Первичные API для связи с сервером Solr с клиента Java
org.apache.solr.client.solrj.beans Аннотирование сопоставления клиентских объектов с документами Solr
org.apache.solr.client.solrj.cloud.autoscaling Общие классы для автомасштабирования фильтрующих узлов и сортировки
org.apache.solr.client.solrj.impl Конкретные реализации классов API-клиентов
org.apache.solr.client.solrj.io API потоковой агрегирования
org.apache.solr.client.solrj.io.comp Компараторы API потоковой агрегирования
org.apache.solr.client.solrj.io.eq Эквалайзер API потоковой агрегирования
org.apache.solr.client.solrj.io.eval Оценщики API потоковой агрегирования
org.apache.solr.client.solrj.io.graph Потоковые графики
org.apache.solr.client.solrj.io.ops Операции для API потоковой агрегирования
org.apache.solr.client.solrj.io.sql Пример использования драйвера JDBC
org.apache.solr.client.solrj.io.stream Потоковые реализации API потоковой агрегирования
org.apache.solr.client.solrj.io.stream.expr Язык выражений для API потоковой агрегирования
org.apache.solr.client.solrj.io.stream.metrics Метрический пакет
org.apache.solr.client.solrj.request Удобные классы для работы с различными типами запросов Solr
org.apache.solr.client.solrj.request.schema Удобные классы для создания запросов API схемы
org.apache.solr.client.solrj.response Удобные классы для работы с различными типами ответов Solr
org.apache.solr.client.solrj.response.schema Классы удобства для работы с ответами API Schema
org.apache.solr.client.solrj.util Утилиты для клиентских приложений Solr
org.apache.solr.common Общие классы, используемые повторно как для клиентов, так и для сервера для обработки документов, которые должны быть проиндексированы
org.apache.solr.common.cloud Общие классы Solr Cloud и ZooKeeper, используемые повторно на обоих клиентах и сервере
org.apache.solr.common.cloud.rule Классы для управления стратегией размещения реплик при работе в режиме SolrCloud
org.apache.solr.common.luke Общие константы, используемые LukeRequestHandler
org.apache.solr.common.params Константы параметров и перечисления
org.apache.solr.common.util Общие классы утилиты, используемые повторно как на клиенте, так и на сервере

Solr 7.0.1 solr-core API

Сервер поиска Apache Solr (Core Javadocs)
Пакет Описание
org.apache.solr Обычно повторно используемые классы и интерфейсы
org.apache.solr.analysis Заводы и классы, специфичные для текстового анализа и создания TokenStreams
org.apache.solr.api Обычно используемые классы для API Solr V2
org.apache.solr.client.solrj.embedded Реализации клиента SolrJ для встроенного доступа solr
org.apache.solr.cloud Классы для работы с ZooKeeper при работе в режиме SolrCloud
org.apache.solr.cloud.autoscaling Пакет для классов, связанных с автомасштабированием
org.apache.solr.cloud.overseer Классы для обновления состояния кластера в режиме SolrCloud
org.apache.solr.cloud.rule Классы для управления стратегией размещения реплик при работе в режиме SolrCloud
org.apache.solr.core Основные классы, реализующие внутренние функции Solr и управление SolrCores
org.apache.solr.core.backup Основные классы для функции резервного копирования / восстановления Solr
org.apache.solr.core.backup.repository BackupRepository Предоставление интерфейсов репозитория для резервного копирования / восстановления для подключения различных систем хранения данных
org.apache.solr.core.snapshots Основные классы для функции постоянных снимков Solr
org.apache.solr.handler Конкретные реализации SolrRequestHandler
org.apache.solr.handler.admin Реализации SolrRequestHandler для включения его пользовательского интерфейса Solr Admin
org.apache.solr.handler.component Реализации SearchComponent для использования в SearchHandler
org.apache.solr.handler.loader Реализации ContentStreamLoader для использования в реализациях ContentStreamHandlerBase
org.apache.solr.handler.sql Классы, связанные с реализацией Apache Calcite в SQLHandler
org.apache.solr.highlight API SolrHighlighter и соответствующие реализации и утилиты
org.apache.solr.index Связанные с индексацией классы
org.apache.solr.index.hdfs Реализация HDFS CheckIndex
org.apache.solr.internal.csv Внутренние классы, используемые для чтения / записи CSV
org.apache.solr.internal.csv.writer Внутренние классы, используемые для чтения / записи CSV
org.apache.solr.legacy Устаревшие вещи!
org.apache.solr.logging API, связанные с захватом информации о событиях журнала в LoggingHandler
org.apache.solr.logging.jul Реализация LogWatcher на основе JUL
org.apache.solr.logging.log4j Реализация LogWatcher на основе Log4j
org.apache.solr.metrics SolrCoreMetricManager отвечает за сбор показателей из SolrMetricProducer's
org.apache.solr.metrics.reporters В этом пакете размещены «подключаемые» метрические репортеры, которые наследуются от класса SolrMetricReporter
org.apache.solr.metrics.reporters.jmx Этот пакет содержит компоненты, которые поддерживают SolrJmxReporter
org.apache.solr.metrics.reporters.solr Этот пакет содержит реализации SolrMetricReporter, специфичные для отчетов SolrCloud
org.apache.solr.parser Solr родной вариант Lucene Classic QueryParser
org.apache.solr.query Запросы Solr
org.apache.solr.request API и классы для работы с запросами Solr
org.apache.solr.request.json Связанные классы JSON
org.apache.solr.request.macro Подстановка параметров / макрораспределение
org.apache.solr.response API и реализации QueryResponseWriter для форматирования ответов запроса Solr
org.apache.solr.response.transform API и реализации DocTransformer для изменения документов в ответах на запрос Solr
org.apache.solr.rest API-интерфейс Solr RESTful через Restlet
org.apache.solr.rest.schema Предоставляет доступ RESTful API к схеме Solr с помощью Restlet
org.apache.solr.rest.schema.analysis Функциональность, связанная с анализом для доступа RESTful API к схеме Solr с использованием Restlet
org.apache.solr.schema Реализации IndexSchema и FieldType для включения schema.xml
org.apache.solr.search API и классы для анализа и обработки запросов на поиск
org.apache.solr.search.facet API и классы API-интерфейса JSON Facet
org.apache.solr.search.function Реализации Solr для ValueSource для функциональных запросов
org.apache.solr.search.function.distance Реализации Solr для ValueSource для запросов на основе расстояния
org.apache.solr.search.grouping API и классы для реализации группировки результатов
org.apache.solr.search.grouping.collector Группировка сборщиков
org.apache.solr.search.grouping.distributed Внутренние классы, используемые для реализации распределенной группировки результатов
org.apache.solr.search.grouping.distributed.command Внутренние классы, используемые для реализации распределенной группировки результатов
org.apache.solr.search.grouping.distributed.requestfactory Внутренние классы, используемые для реализации распределенной группировки результатов
org.apache.solr.search.grouping.distributed.responseprocessor Внутренние классы, используемые для реализации распределенной группировки результатов
org.apache.solr.search.grouping.distributed.shardresultserializer Внутренние классы, используемые для реализации распределенной группировки результатов
org.apache.solr.search.grouping.endresulttransformer API и классы для преобразования результатов группирования результатов в соответствующий формат ответа
org.apache.solr.search.join Классы, связанные с объединениями
org.apache.solr.search.mlt API и классы для реализации MoreLikeThis (mlt) QueryParser
org.apache.solr.search.similarities Factories для различных встроенных моделей оценки Lucene
org.apache.solr.search.stats API и классы, реализующие компонент Stats, используемый для вычисления частоты документов
org.apache.solr.security Обычно используемые классы для системы безопасности Solr
org.apache.solr.servlet Классы, связанные с сервлетом, для включения HTTP-протокола Solr
org.apache.solr.servlet.cache Кэширование связанных классов, используемых в HTTP-API Solr
org.apache.solr.spelling API и классы, используемые SpellCheckComponent
org.apache.solr.spelling.suggest API и классы, используемые SpellCheckComponent
org.apache.solr.spelling.suggest.fst Заводы для FST и анализирующие советы
org.apache.solr.spelling.suggest.jaspell Заводы для разработчиков, основанных на JaSpell
org.apache.solr.spelling.suggest.tst Factories для TST based Suggesters
org.apache.solr.store.blockcache Реализация блок-кэширования HDFS
org.apache.solr.store.hdfs Реализация каталога HDFS
org.apache.solr.uninverting Поддержка создания docvalues «на лету» из инвертированного индекса во время выполнения
org.apache.solr.update API и классы для управления обновлениями индексов
org.apache.solr.update.processor API-интерфейсы и реализации UpdateRequestProcessorFactory для использования в UpdateRequestProcessorChains
org.apache.solr.util Общие классы полезности, используемые в Solr
org.apache.solr.util.configuration Общие API Util, связанные с конфигурацией Solr
org.apache.solr.util.hll Вилка пакета Java-HyperLogLog изменена, чтобы не зависеть от fastutil и с очистками, чтобы сделать ее стройной и чистой
org.apache.solr.util.plugin Общие API, связанные с внедрением плагинов Solr
org.apache.solr.util.stats Утилиты для сбора статистики
org.apache.solr.util.xslt Утилиты, связанные с XSLT (устаревший пакет, не добавляйте новые классы)

Solr 7.0.1 solr-analytics API

Сервер поиска Apache Solr: компонент Google Analytics
пакет описание
org.apache.solr.analytics Компонент solr для вычисления комплексной аналитики по результатам поиска
org.apache.solr.analytics.facet Границы, поддерживаемые компонентом аналитики
org.apache.solr.analytics.facet.compare Компараторы, используемые для сортировки ведер аналитической грани
org.apache.solr.analytics.function Функции, используемые для выражения аналитики
org.apache.solr.analytics.function.field Поля, используемые для выражения аналитики
org.apache.solr.analytics.function.mapping Функции отображения, используемые для выражения аналитики
org.apache.solr.analytics.function.reduction Функции сокращения для использования в выражениях аналитики
org.apache.solr.analytics.function.reduction.data Сокращение сбора данных для использования при вычислении выражений аналитики
org.apache.solr.analytics.plugin Плагины MBean для сбора статистики
org.apache.solr.analytics.stream Классы для управления ввода-вывода между осколками
org.apache.solr.analytics.stream.reservation Классы резервирования для одного типа данных, хранящиеся в одном сборнике данных сокращения
org.apache.solr.analytics.stream.reservation.read Чтение классов для одного типа данных, хранящихся в одном сборнике данных сокращения
org.apache.solr.analytics.stream.reservation.write Написание классов для одного типа данных, хранящихся в одном сборнике данных сокращения
org.apache.solr.analytics.util Классы полезности для компонента аналитики
org.apache.solr.analytics.util.function Чистые функциональные интерфейсы Java
org.apache.solr.analytics.value Типы значений для выражений аналитики
org.apache.solr.analytics.value.constant Константные значения, которые будут использоваться в выражениях аналитики
org.apache.solr.handler Обработчик для запросов распределенной аналитики к осколкам
org.apache.solr.handler.component Компонент поиска для компонента аналитики
org.apache.solr.response Response Writer для ответа распределенной аналитики от осколка

Solr 7.0.1 solr-clustering API

Сервер поиска Apache Solr: вкладка text clustering contrib
Пакеты Описание
org.apache.solr.handler.clustering ClusteringComponent и общие API для конкретных реализаций
org.apache.solr.handler.clustering.carrot2 CarrotClusteringEngine и связанные классы для использования в ClusteringComponent

Solr 7.0.1 solr-dataimporthandler API

Поиск Apache Solr: DataImportHandler contrib
Пакеты Описание
org.apache.solr.handler.dataimport DataImportHandler и связанный код
org.apache.solr.handler.dataimport.config Классы полезности для анализа и моделирования конфигурации DIH

Solr 7.0.1 solr-cell API

Сервер поиска Apache Solr: Solr Cell contrib
Пакеты Описание
org.apache.solr.handler.extraction ExtractingRequestHandler и связанный код

Solr 7.0.1 solr-langid API

Сервер поиска Apache Solr: Solr Language Identifier contrib
Пакет Описание
org.apache.solr.update.processor Различные реализации LanguageIdentifierUpdateProcessor и их фабрик

Solr 7.0.1 solr-ltr API

Сервер поиска Apache Solr: обучение ранжированию
Пакет Описание
org.apache.solr.ltr Этот пакет содержит основную логику выполнения рендера с использованием модели Learning to Rank
org.apache.solr.ltr.feature Содержит классы, связанные с функциями
org.apache.solr.ltr.model Содержит классы, связанные с моделью
org.apache.solr.ltr.norm Нормализатор нормализует значение функции
org.apache.solr.ltr.response.transform API и реализации DocTransformer для изменения документов в ответах на запрос Solr
org.apache.solr.ltr.search API и классы для анализа и обработки запросов на поиск
org.apache.solr.ltr.store Содержит классы, связанные с характеристиками и моделью
org.apache.solr.ltr.store.rest Содержит ManagedResource, который инкапсулирует эту функцию, и хранилища моделей

Solr 7.0.1 solr-uima API

Сервер поиска Apache Solr: Solr UIMA contrib
Пакет Описание
org.apache.solr.uima.processor UIMAUpdateRequestProcessorFactory и связанный код

Solr 7.0.1 solr-velocity API

Apache Solr Поисковый сервер: Velocity Response Writer contrib
Пакет Описание
org.apache.solr.response VelocityResponseWriter и связанный код

Solr 7.0.1 Test Framework API

Сервер поиска Apache Solr: тестовая платформа
Пакет Описание
org.apache.solr Общие базовые классы для реализации тестов
org.apache.solr.analysis Заводы для классов анализа Mock, которые могут использоваться в тестовых конфигурациях
org.apache.solr.cloud Базовые классы и утилиты для создания и тестирования кластеров Solr Cloud
org.apache.solr.core Заводы для классов Mock, которые могут использоваться в тестовых конфигурациях
org.apache.solr.handler.component Класс для отслеживания запросов ослепления
org.apache.solr.update.processor Макет классов для тестирования цепей обновления процессора
org.apache.solr.util Различные утилиты полезны при реализации тестовых примеров

Ссылки

Источники

  1. Знакомство с Solr [Электронный ресурс]: Масштабируемость Solr/ Дата обращения: 2017-10-15. Режим доступа: http://lucene.apache.org/solr/#intro
  2. Информация о Solr [Электронный ресурс]: Публичные веб-сайты, использующие Solr/ Дата обращения: 2017-10-15. Режим доступа: http://wiki.apache.org/solr/PublicServers
  3. Информация о версиях Solr [Электронный ресурс]: Информация о версии Solr 1.3/ Дата обращения: 2017-10-15. Режим доступа: http://svn.apache.org/repos/asf/lucene/solr/branches/branch-1.3/CHANGES.txt
  4. Информация о версиях Solr [Электронный ресурс]: Информация о версии Solr 1.4/ Дата обращения: 2017-10-15. Режим доступа: http://svn.apache.org/repos/asf/lucene/solr/branches/branch-1.4/CHANGES.txt
  5. Информация о версиях Solr [Электронный ресурс]: Информация о версии Solr 3.1/ Дата обращения: 2017-10-15. Режим доступа: http://wiki.apache.org/solr/Solr3.1
  6. Сайты, использующие Solr [Электронный ресурс]: Solr Powered / Дата обращения: 2017-10-15. Режим доступа: https://wiki.apache.org/solr/PublicServers