¡Esta es una revisión vieja del documento!
This is my page of playing with Manticore Search
Extract the zip, then edit the conf. file:
manticore.conf.in
# holy crap common { plugin_dir = /usr/local/manticore/lib } searchd { listen = 127.0.0.1:9312 listen = 127.0.0.1:9306:mysql # listen = 127.0.0.1:9308:http log = E:/manticore36/log/searchd.log query_log = E:/manticore36/log/query.log pid_file = E:/manticore36/log/searchd.pid data_dir = E:/manticore36/data query_log_format = sphinxql }
Let's install as a service:
E:\Manticore\bin\searchd --install --config E:\Manticore\manticore.conf.in --servicename Manticore
Manticore can be started and stopped from the Services Control Panel or manually from the command line:
sc.exe start Manticore
sc.exe stop Manticore
If you don't install Manticore as Windows service, you can start it from the command line:
.\bin\searchd -c manticore.conf.in
To ensure a fast connection, use 127.0.0.1
and not localhost
:
mysql -P9306 -h127.0.0.1
Manticore configuration supports shebang syntax, meaning that the configuration can be written in a programming language and interpreted at loading, allowing dynamic settings.
For example, indexes can be generated by querying a database table, various settings can be modified depending on external factors or external files can be included (which contain indexes and/sources).
The configuration file is parsed by declared declared interpreter and the output is used as the actual configuration. This is happening each time the configuration is read (not only at searchd startup).
This facility is not available on Windows platform.
In the following example, we are using PHP to create multiple indexes with different name and we also scan a specific folder for file containing extra declarations of indexes.
manticore.conf.in
#!/usr/bin/php ... <?php for ($i=1; $i<=6; $i++) { ?> index test_<?=$i?> { type = rt path = /var/lib/manticore/data/test_<?=$i?> rt_field = subject ... } <?php } ?> ... <?php $confd_folder='/etc/manticore.conf.d/'; $files = scandir($confd_folder); foreach($files as $file) { if(($file == '.') || ($file =='..')) {} else { $fp = new SplFileInfo($confd_folder.$file); if('conf' == $fp->getExtension()){ include ($confd_folder.$file); } } }
The configuration file supports comments, with # character used as start comment section. The comment character can be present at the start of the line or inline.
Extra care should be considered when using # in character tokenization settings as everything after it will not be taken into consideration. To avoid this, use # UTF-8 which is U+23.
# can also be escaped using \. Escaping is required if # is present in database credential in source declarations.