Sphinx reader eh подключение к 1с
Поисковая машина Sphinx – это полнотекстовая поисковая система, которая бесплатна, быстра и масштабируема. Она предназначена для производительности и актуальности. Не имеет аналогов ни в одной традиционной базе данных.
Установка и настройка Sphinx на Linux
Чтобы установить Sphinx на сервер Ubuntu, введите:
Поисковая система Sphinx успешно установлена на сервер. После установки Sphinx нуждается в дополнительной настройке.
Настройка Sphinx
Конфигурации Sphinx должны храниться в файле sphinx.conf в каталоге /etc/sphinxsearch. Они состоят из трёх основных блоков: index, searchd и source. Описание каждого из них и общий вид конфигурационного файла можно найти ниже.
Для начала создайте конфигурационный файл:
Блок source
Блок source содержит описание источника данных для нашего индекса, параметров доступа к ним, атрибутов и правил их анализа.. Первый столбец sql_query должен содержать уникальный ID. Запрос SQL будет выполняться для каждого индекса, а затем передавать данные в индексный файл Sphinx.
Стоит отметить что раздел source конфигурации поддерживает наследование, и это весьма удобно, т.к. можно создать один source с настройками соединения с базой данных, и в остальных наследовать его, чтобы не дублировать одни и те же настройки.
Что еще интересного из настроек:
- sql_query_range - запрос который должен возвращать минимальное и максимальное значение id индексируемых записей, парамаметр пригодится для ranged query.
- sql_range_step - количество записей получаемых за одну итерацию в ranged query.
Блок index
Блок index содержит настройки построения индекса с использованием источника.
Описание настроек:
- docinfo - тип хранения атрибутов индекса. Может принимать значения none, extern и inline. None уместен когда индекс не имеет атрибутов, при выборе inline атрибуты будут храниться в .spd файле вместе с документами, а при extern для них будет создан отдельный .spa файл.
- dict - тип словаря, crc или keywords. crc лучше использовать когда не нужен поиск по подстрокам. Keywords быстрее работает с подстроками, поддерживает wildcard поиск и размер индекса получается в 3-10 раз меньше.
- morphology - морфологический препроцессор. Препроцессор применяется к индексируемым словам чтобы заменить различные формы одного слова нормализованной формой. Sphinx имеет три вида морфологических препроцессоров: лемматизатор, стеммер и фонетические алгоритмы. Стоит отметить, что Sphinx имеет поддержку русского языка из коробки. Также имеется поддержка libstemmer.
- stopwords - путь к файлу со списком стоп-слов (разделенных пробелами). Стоп-слова не учитываются при поиске.stopwords - путь к файлу со списком стоп-слов (разделенных пробелами). Стоп-слова не учитываются при поиске.
- wordforms - путь к файлу со списком словоформ, например "hypertext preprocessor > php".
- min_word_len - минимальная длина индексируемого слова.
- html_strip - параметр определяет нужно ли удалять html теги из входных данных.
Блок indexer
Блок indexer содержит настройки индексатора
Блок searchd
Блок searchd содержит порты и переменные для запуска демона Sphinx.
Настройки демона обычно всегда стандартные, указываем адрес, порт демона и пути к логам
Описание настроек:
- listen - адрес и порт, на котором нужно запустить Sphinx, и используемый протокол (в руководстве – 9306:mysql41). Популярные протоколы Sphinx — sphinx (SphinxAPI) и :mysql41 (SphinxQL).
- log - путь к файлу лога.
- query_log - путь к файлу лога запросов.
- read_timeout - тайм-аут чтения в секундах.
- max_children - максимальное количество форков.
- seamless_rotate - предотвращает останов searchd при кэшировании большого объема данных.
- preopen_indexes - указывает, нужно ли предварительно открывать все индексы.
- pid_file - путь к PID файлу, обязательный параметр.
- workers - тип мультипроцессорного режима. None для выключения, все запросы будут выполняться синхронно один за одним. Fork и prefork - новый процесс будет форкнут для обработки запроса. И thread - когда для обработки запроса будет создан новый поток. Последний необходим для работы real-time индекса.
Запускаем sphinx
После того как мы создали файл конфигурации sphinx.conf, нам надо проиндексировать данные из нашей БД. Для этого в консоли запускаем индексатор:
В случае успешного индексирования получим примерно вот такие строки:
Ошибок нет, все работает.
Запускаем поискового демона:
В случае успешного запуска должны увидеть примерно вот такой вывод:
Коннектимся к демону по SQL протоколу что бы проверить его работоспособность:
Запускаем переиндексацию по крону
Добавляем в системный планировщик заданий (крон, crontab) запуск индексатора через каждые сутки:
Защита служебных портов
После настройки и запуска поискового сервера Sphinx важно помнить что его демн открывает порты 9312, 9306 (указанные в настройках) и делает их доступными на всех интерфейсах. Настоятельно рекомендую закрыть их от внешнего мира при помощи файрвола на внешнем интерфейсе (интернет). Вот два простых правила для IPTABLES:
Где eth0 - имя сетевого интерфейса, который смотрит в интернет.
Скрипт автозапуска searchd для init.d
Теперь нужно сделать так чтобы демон searchd стартовал при загрузке/перезагрузке операционной системы. Ниже приведен пример создания и настройки скрипта для Debian/Ubuntu GNU/Linux без использования systemd.
Откроем для редактирования новый скрипт инициализации в папке "/etc/init.d" и добавим туда следующие строчки:
Установим права на скрипт запуска и зарегистрируем его в автозапуске:
Для надежности можете перезагрузить свой сервер и проверить запустился ли демон searchd:
Курс предназначен для базовой подготовки администраторов сайтов, созданных на "1С-Битрикс: Управление сайтом". Изучив курс, вы освоите основные методы администрирования системы, а также пополните знания по темам, изученным в курсе Контент-менеджер.
Если вы добросовестно изучите курс, то научитесь:
- управлять доступом к системе, сайтами, пользователями, группами пользователей;
- работать с инструментами системы;
- использовать возможности интерфейса по управлению системой;
- работать с модулями "1С-Битрикс: Управление сайтом", связанными с оптимизацией и безопасностью работы сайта;
- выполнять работу по конфигурированию веб-системы для оптимальной работы.
Если вам предстоит самостоятельная установка системы или перенос сайта на хостинг, то без курса Установка и настройка Курс Установка и настройка предназначен для специалистов устанавливающих "1С-Битрикс: Управление сайтом" или "Битрикс24 в коробке".
Начальные требования
Необходимый минимум знаний для изучения курса:
- базовые навыки компьютерной грамотности и навыков работы с ОС Windows;
- базовые знания о WWW и организации доступа к веб-серверу;
- знание системы в рамках курса Контент-менеджер Мы считаем, что вы этот курс уже прошли и знаете многое о Битриксе. Поэтому подсказок во всплывающих окнах будет намного меньше, чем в курсе Контент-менеджер. , чтобы банально не путаться в интерфейсе.
Неплохо было бы иметь базовые навыки установки и администрирования *nix-систем.
У нас часто спрашивают, сколько нужно заплатить
Курс полностью бесплатен. Изучение курса, прохождение итоговых тестов и получение сертификатов - ничего из этого оплачивать не нужно.
Ещё у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.
Баллы опыта
В конце каждого урока есть кнопка Прочитано! . При клике на неё в Вашу итоговую таблицу опыта добавляется то количество баллов, которое указано в прочитанном После нажатия кнопки Прочитано! появится
окно подтверждения:
уроке.
Периодически мы заново оцениваем сложность уроков, увеличивая/уменьшая число баллов, поэтому итоговое количество набранных Вами баллов может отличаться от максимально возможного. Не переживайте! Отличный результат - это если общее число набранных Вами баллов отличается от максимального на 1-2%.
Тесты и сертификат
После изучения курса пройдите тесты на сертификацию. При успешной сдаче последовательности тестов на странице Моё обучение вы увидите результат обучения и там же - ваш сертификат в формате PDF.
Иконка успешно сданного вами курса отображается в вашем профиле на Freelance, если вы укажите ссылку на ваш профиль на сайте компании 1С-Битрикс.
Комментарии к урокам
Для преподавания оффлайн
Если данный курс берётся в качестве основы для оффлайного преподавания, то рекомендуемая продолжительность: 3 дня (24 академических часа).
Если нет интернета
iPhone:
FBReader
CoolReader
iBook
Bookmate
Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome
iOS
Marvin for iOS
ShortBook
обновляются периодически, поэтому возможно некоторое отставание их от онлайновой версии курса. Версия файла - от 01.10.2021.
Как проходить учебный курс?
Читайте также: