Установка поискового движка Sphinx на CentOS сервер

В народе бытует мнение, что Sphinx нужен для того, что бы быстро искать слова в текстах, товары в магазинах, а также нужные, полезные, а местами и крайне интересные файлы на торрент-трекерах. Ходят слухи, что недавно выпущенная из секретных лабораторий версия 2.0.1 умеет приносить хозяину тапочки и частично заменяет собой MySQL. Проще всего установить Sphinx на CentOS выполнив команду: 1 yum install sphinx но sphinx не всегда есть в репозитариях и не всегда нужной версии. Поэтому пойдём по другому пути. Пройдём по ссылке и выберем подходящий пакет для нашей ОС и архитектуры http://sphinxsearch.com/downloads/release/ Для CentOS 6.4 x86_64 я выберу http://sphinxsearch.com/files/sphinx-2.2.9-1.rhel6.x86_64.rpm Сейчас я установлю этот пакет с помощью yum 1 yum localinstall sphinx-2.2.9-1.rhel6.x86_64.rpm Должны пробежать строки типа таких: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Installing : sphinx-2.2.9-1.rhel6.x86_64 1/1 Sphinx installed! Now create a full-text index, start the search daemon, and you're all set. To manage indexes: editor /etc/sphinx/sphinx.conf To rebuild all disk indexes: sudo -u sphinx indexer --all --rotate To start/stop search daemon: service searchd start/stop To query search daemon using MySQL client: mysql -h 0 -P 9306 mysql> SELECT * FROM test1 WHERE MATCH('test'); See the manual at /usr/share/doc/sphinx-2.2.9 for details. For commercial support please contact Sphinx Technologies Inc at http://sphinxsearch.com/contacts.html Verifying : sphinx-2.2.9-1.rhel6.x86_64 1/1 Installed: sphinx.x86_64 0:2.2.9-1.rhel6 Complete! Отредактируем нужным образом файл /etc/sphinx/sphinx.conf и запустим service searchd start или /etc/init.d/searchd start ...

13 квітня 2016 · 2 хвилин · 271 слово · dimetrius

Плагин Sphinx Search для Joomla 2.5 и UTF-8

Sphinx - это поисковая система, позволяющая быстро индексировать таблицы баз данных и производить полнотекстовый поиск по ним. В основе работы системы лежит принцип индексации базы альтернативным приложением. Приложение Sphinx устанавливается в систему. Все настройки для него прописываются в конфигурационном файле sphinx.conf, в числе которых присутствуют параметры соединения с базой данных, запросы к таблицам для индексирования, каталоги для хранения индексов и прочее. Полную документацию для настройки sphinx.conf можно найти здесь. После установки вы получаете пять плагинов для поиска по различным компонентам Joomla и компонент административной части для настройки. Активировав поисковые плагины Sphinx, можно деактивировать стандартный поиск Joomla. Для успешной индексации русскоязычных баз данных пришлось немного изменить конфиг sphinx. Пример можете посмотреть ниже. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 # # site parent source site-parent { type = mysql sql_host = localhost sql_user = dbuser sql_pass = dbpass sql_db = dbname sql_port = 3306 sql_query_pre = SET NAMES 'utf8' sql_query_pre = SET SESSION query_cache_type=OFF } # # Joomla articles # source joomla_articles : site-parent { #only published and Public articles are indexed sql_query = \ SELECT `id`, `title`, `introtext`, `fulltext`, `metakey`, `metadesc`, \ UNIX_TIMESTAMP(`created`) as created, `hits`, `catid` \ FROM nz6ol_content \ WHERE state = 1; sql_attr_uint = hits sql_attr_uint = catid sql_attr_string = title sql_attr_timestamp = created } index joomla_articles { source = joomla_articles path = /var/www/site.com/sphinx/data/articles morphology = stem_enru, soundex, metaphone charset_type = utf-8 charset_table = U+FF10..U+FF19->0..9, 0..9, U+FF41..U+FF5A->a..z, U+FF21..U+FF3A->a..z, A..Z->a..z, a..z, U+0149, U+017F, U+0138, U+00DF, U+00FF, U+00C0..U+00D6->U+00E0..U+00F6, U+00E0..U+00F6, U+00D8..U+00DE->U+00F8..U+00FE, U+00F8..U+00FE, U+0100->U+0101, U+0101, U+0102->U+0103, U+0103, U+0104->U+0105, U+0105, U+0106->U+0107, U+0107, U+0108->U+0109, U+0109, U+010A->U+010B, U+010B, U+010C->U+010D, U+010D, U+010E->U+010F, U+010F, U+0110->U+0111, U+0111, U+0112->U+0113, U+0113, U+0114->U+0115, U+0115, U+0116->U+0117, U+0117, U+0118->U+0119, U+0119, U+011A->U+011B, U+011B, U+011C->U+011D, U+011D, U+011E->U+011F, U+011F, U+0130->U+0131, U+0131, U+0132->U+0133, U+0133, U+0134->U+0135, U+0135, U+0136->U+0137, U+0137, U+0139->U+013A, U+013A, U+013B->U+013C, U+013C, U+013D->U+013E, U+013E, U+013F->U+0140, U+0140, U+0141->U+0142, U+0142, U+0143->U+0144, U+0144, U+0145->U+0146, U+0146, U+0147->U+0148, U+0148, U+014A->U+014B, U+014B, U+014C->U+014D, U+014D, U+014E->U+014F, U+014F, U+0150->U+0151, U+0151, U+0152->U+0153, U+0153, U+0154->U+0155, U+0155, U+0156->U+0157, U+0157, U+0158->U+0159, U+0159, U+015A->U+015B, U+015B, U+015C->U+015D, U+015D, U+015E->U+015F, U+015F, U+0160->U+0161, U+0161, U+0162->U+0163, U+0163, U+0164->U+0165, U+0165, U+0166->U+0167, U+0167, U+0168->U+0169, U+0169, U+016A->U+016B, U+016B, U+016C->U+016D, U+016D, U+016E->U+016F, U+016F, U+0170->U+0171, U+0171, U+0172->U+0173, U+0173, U+0174->U+0175, U+0175, U+0176->U+0177, U+0177, U+0178->U+00FF, U+00FF, U+0179->U+017A, U+017A, U+017B->U+017C, U+017C, U+017D->U+017E, U+017E, U+0410..U+042F->U+0430..U+044F, U+0430..U+044F, U+4E00..U+9FFF enable_star = 1 expand_keywords = 1 index_exact_words = 1 min_word_len = 3 min_prefix_len = 0 min_infix_len = 3 } # # Joomla web links # source joomla_weblinks : site-parent { #only published links are indexed sql_query = \ SELECT `id`, `catid`, `title`, `description`, UNIX_TIMESTAMP(`created`) as created, `hits` \ FROM nz6ol_weblinks \ WHERE state = 1; sql_attr_uint = hits sql_attr_uint = catid sql_attr_string = title sql_attr_timestamp = created } index joomla_weblinks { source = joomla_weblinks path = /var/www/site.com/sphinx/data/weblinks morphology = none min_word_len = 3 min_prefix_len = 0 min_infix_len = 3 } # # Joomla contacts # source joomla_contacts : site-parent { sql_query = \ SELECT `id`, `catid`, `name` as title, `con_position`, `address`, `state`,\ `country`, `postcode`, `telephone`, `misc`, `email_to`, id as modified, 0 as`hits`, id as created \ FROM nz6ol_contact_details \ WHERE published = 1; sql_attr_uint = hits sql_attr_uint = catid sql_attr_string = title sql_attr_uint = created } index joomla_contacts { source = joomla_contacts path = /var/www/site.com/sphinx/data/contacts morphology = none min_word_len = 3 min_prefix_len = 0 min_infix_len = 3 } # # Joomla categories # source joomla_categories : site-parent { #only published links are indexed sql_query = \ SELECT `id`, id as `catid`, `title`, `description`, 0 as `hits`, 0 as `created`\ FROM nz6ol_categories \ WHERE published = 1; sql_attr_uint = hits sql_attr_uint = catid sql_attr_string = title sql_attr_uint = created } index joomla_categories { source = joomla_categories path = /var/www/site.com/sphinx/data/categories morphology = stem_enru, soundex, metaphone charset_type = utf-8 charset_table = U+FF10..U+FF19->0..9, 0..9, U+FF41..U+FF5A->a..z, U+FF21..U+FF3A->a..z, A..Z->a..z, a..z, U+0149, U+017F, U+0138, U+00DF, U+00FF, U+00C0..U+00D6->U+00E0..U+00F6, U+00E0..U+00F6, U+00D8..U+00DE->U+00F8..U+00FE, U+00F8..U+00FE, U+0100->U+0101, U+0101, U+0102->U+0103, U+0103, U+0104->U+0105, U+0105, U+0106->U+0107, U+0107, U+0108->U+0109, U+0109, U+010A->U+010B, U+010B, U+010C->U+010D, U+010D, U+010E->U+010F, U+010F, U+0110->U+0111, U+0111, U+0112->U+0113, U+0113, U+0114->U+0115, U+0115, U+0116->U+0117, U+0117, U+0118->U+0119, U+0119, U+011A->U+011B, U+011B, U+011C->U+011D, U+011D, U+011E->U+011F, U+011F, U+0130->U+0131, U+0131, U+0132->U+0133, U+0133, U+0134->U+0135, U+0135, U+0136->U+0137, U+0137, U+0139->U+013A, U+013A, U+013B->U+013C, U+013C, U+013D->U+013E, U+013E, U+013F->U+0140, U+0140, U+0141->U+0142, U+0142, U+0143->U+0144, U+0144, U+0145->U+0146, U+0146, U+0147->U+0148, U+0148, U+014A->U+014B, U+014B, U+014C->U+014D, U+014D, U+014E->U+014F, U+014F, U+0150->U+0151, U+0151, U+0152->U+0153, U+0153, U+0154->U+0155, U+0155, U+0156->U+0157, U+0157, U+0158->U+0159, U+0159, U+015A->U+015B, U+015B, U+015C->U+015D, U+015D, U+015E->U+015F, U+015F, U+0160->U+0161, U+0161, U+0162->U+0163, U+0163, U+0164->U+0165, U+0165, U+0166->U+0167, U+0167, U+0168->U+0169, U+0169, U+016A->U+016B, U+016B, U+016C->U+016D, U+016D, U+016E->U+016F, U+016F, U+0170->U+0171, U+0171, U+0172->U+0173, U+0173, U+0174->U+0175, U+0175, U+0176->U+0177, U+0177, U+0178->U+00FF, U+00FF, U+0179->U+017A, U+017A, U+017B->U+017C, U+017C, U+017D->U+017E, U+017E, U+0410..U+042F->U+0430..U+044F, U+0430..U+044F, U+4E00..U+9FFF enable_star = 1 expand_keywords = 1 index_exact_words = 1 min_word_len = 3 min_prefix_len = 0 min_infix_len = 3 } # # Joomla newsfeeds # source joomla_newsfeeds : site-parent { sql_query = \ SELECT `id`, `catid`, link, name as title, numarticles as `hits`, 0 as `created`\ FROM nz6ol_newsfeeds \ WHERE published = 1; sql_attr_uint = hits sql_attr_uint = catid sql_attr_string = title sql_attr_uint = created } index joomla_newsfeeds { source = joomla_newsfeeds path = /var/www/site.com/sphinx/data/newsfeeds morphology = none min_word_len = 3 min_prefix_len = 0 min_infix_len = 3 } index joomla_search { type = distributed local = joomla_articles local = joomla_weblinks local = joomla_contacts local = joomla_newsfeeds } indexer { mem_limit = 512M } searchd { compat_sphinxql_magics = 0 listen = localhost:9312 log = /var/log/sphinx/searchd.log query_log = /var/log/sphinx/query.log read_timeout = 5 max_children = 30 pid_file = /var/run/sphinxsearch/searchd.pid max_matches = 50000 binlog_path = /var/run/sphinxsearch/ } Обратите внимание на параметры: ...

28 вересня 2015 · 7 хвилин · 1403 слів · dimetrius