क्या आप जानते हैं कि Sphinx और Manticore Search कॉन्फ़िग्स आपको shebang syntax का उपयोग करके स्क्रिप्टिंग करने की अनुमति देते हैं? यहां एक उदाहरण है कि यह कुछ मामलों में कितना उपयोगी हो सकता है:
कल्पना करें कि आपके पास 3 तालिकाएं हैं जिनकी संरचना समान है जिन्हें आप 3 अनुक्रमणकों में अनुक्रमित करना चाहते हैं, एक प्रति तालिका। आप बस एक php स्क्रिप्ट बना सकते हैं जो इसे करेगी और इसे Manticore Search कॉन्फ़िग के रूप में उपयोग कर सकते हैं बजाय कि प्रत्येक स्रोत/अनुक्रमणक को अलग से वर्णित करें:
#!/usr/bin/php
<?php
$source= "source [TABLE]_src {
type = mysql
sql_host = localhost
sql_user = user
sql_pass = password
sql_db = db
sql_port = 3306
sql_query = SELECT [TABLE].id, title, body FROM [TABLE] WHERE [TABLE].id >=\$startand[TABLE].ID <=\$end
sql_query_range = SELECT MIN(id), MAX(id) FROM [TABLE]
sql_range_step = 1000
}
";
$index= "index [TABLE]_idx {
source = [TABLE]_src
path = /path/to/indexes/idx_[TABLE]
}
";
$tables= array('Cats', 'Dogs', 'Mouses');
foreach($tables as $table) {
echo str_replace('[TABLE]', $table, $source)."\n";
echo str_replace('[TABLE]', $table, $index)."\n";
}
?>
searchd {
listen = localhost:9306:mysql41
pid_file = /path/to/pid_file.pid
}
अब आप इस फ़ाइल का उपयोग बिल्कुल सामान्य Manticore Search कॉन्फ़िग जैसे कर सकते हैं:
[snikolaev@dev01 ~]$ searchd -c manticore.conf
Manticore 2.6.4 4510fa4@180501 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 'manticore.conf'...