Если вы хотите начать изучать обычные индексы Manticore Search или увидеть, как работают некоторые его функции, следующая простейшая конфигурация Manticoresearch может быть полезна:
source min {
type = mysql
sql_host = localhost
sql_user = root
sql_pass =
sql_db = test
sql_query = select 1, 'cat' union select 2, 'dog'
}
index idx_min {
path = idx
source = min
}
searchd {
listen = 9306:mysql41
log = searchd.log
pid_file = manticoresearch.pid
binlog_path =
}
В ней почти ничего нет — только то, без чего Manticoresearch не может работать. А именно:
Раздел «source» для получения данных из mysql. В этом случае мы даже не получаем реальные данные из mysql, а просто используем интерфейс mysql с данными, заданными прямо в конфигурации («select 1, ‘cat’ union select 2, ‘dog'»). Он создаст 2 документа в Manticoresearch: один, содержащий слово «cat», другой — слово «dog», идентификаторы будут 1 и 2 соответственно.
Раздел «index» для создания индекса на основе вышеуказанного источника, он содержит только ссылку на источник («source = min») и путь к индексу («path = idx»). После построения этого индекса файлы idx.* будут созданы в каталоге, из которого вы запускаете «indexer».
Раздел «searchd», чтобы указать Manticoresearch, на каких портах он должен слушать («listen = 9306:mysql41», что означает, что для общения с Manticoresearch на этом порту следует использовать SphinxQL), какой журнал использовать («log = searchd.log») и где сохранять идентификатор процесса («pid_file = manticoresearch.pid»).
Вот пример использования этой конфигурации:
Индексация:
[snikolaev@dev01 ~]$ indexer -c min.conf --all
Manticore 2.6.1 9a706b4@180119 dev
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-2018, Manticore Software LTD (http://manticoresearch.com)
using config file 'min.conf'...
indexing index 'idx_min'...
WARNING: Attribute count is 0: switching to none docinfo
collected 2 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 2 docs, 6 bytes
total 0.045 sec, 131 bytes/sec, 43.75 docs/sec
total 3 reads, 0.000 sec, 10.6 kb/call avg, 0.0 msec/call avg
total 9 writes, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg
Запуск ‘searchd’ и получение результатов с помощью клиента mysql:
[snikolaev@dev01 ~]$ searchd -c min.conf
Manticore 2.6.2 df9dc57@180213 dev
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-2018, Manticore Software LTD (http://manticoresearch.com)
using config file 'min.conf'...
listening on all interfaces, port=9306
precaching index 'idx_min'
precached 1 indexes in 0.001 sec
[snikolaev@dev01 ~]$ mysql -P9306 -h0
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 2.6.2 df9dc57@180213 dev
Copyright (c) 2009-2017 Percona LLC and/or its affiliates
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> select * from idx_min where match('dog');
+------+
| id |
+------+
| 2 |
+------+
1 row in set (0.00 sec)
mysql> select * from idx_min where match('cat');
+------+
| id |
+------+
| 1 |
+------+
1 row in set (0.00 sec)
Когда searchd работает, если вы хотите перестроить индекс, вы можете сделать это без остановки searchd, запустив indexer --rotate:
[snikolaev@dev01 ~]$ indexer -c min.conf --all --rotate
Manticore 2.6.1 9a706b4@180119 dev
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-2018, Manticore Software LTD (http://manticoresearch.com)
using config file 'min.conf'...
indexing index 'idx_min'...
WARNING: Attribute count is 0: switching to none docinfo
collected 2 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 2 docs, 6 bytes
total 0.003 sec, 1547 bytes/sec, 515.86 docs/sec
total 3 reads, 0.000 sec, 10.6 kb/call avg, 0.0 msec/call avg
total 9 writes, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg
rotating indices: successfully sent SIGHUP to searchd (pid=27004).
Как видно из последней строки, indexer отправил searchd сигнал выполнить ротацию индекса.
Приятных экспериментов с Manticore Search!
