New file |
0,0 → 1,241 |
# |
# Minimal Sphinx configuration sample (clean, simple, functional) |
# |
# http://www.tela-botanica.org/page:recherche |
# mysql -h0 -P 9306 |
# SELECT * FROM i_spip WHERE MATCH('@texte mousse'); |
|
# sudo sphinx-indexer i_spip -c /etc/sphinx/sphinx-min.conf |
# sudo sphinx-searchd -c /etc/sphinx/sphinx-min.conf |
source common |
{ |
type = mysql |
|
sql_host = localhost |
sql_user = root |
sql_pass = |
sql_db = raphdb |
sql_sock = /home/raphael/web/mysql/mysql.sock |
sql_query_pre = SET NAMES utf8 |
} |
|
|
index i_common |
{ |
# source = |
# path = /var/lib/sphinx/XXX |
docinfo = extern |
charset_type = sbcs |
stopwords = /etc/sphinx/stopwords.txt |
|
# http://sphinxsearch.com/docs/2.1.1/conf-morphology.html |
morphology = libstemmer_french |
enable_star = 1 |
min_word_len = 3 |
# min_prefix_len = 3 |
min_infix_len = 3 |
|
# prefix_fields = |
# infix_fields = |
|
phrase_boundary = ., ?, !, U+2026 |
|
# http://sphinxsearch.com/wiki/doku.php?id=charset_tables |
# mysql raphdb<<<"SELECT p_description FROM projet WHERE p_id = 121"|xxd |
# sphinx-search -q -c sphinx-min.conf -i i_projet "homoge*|homogé"|grep -w hits |
# SELECT * FROM i_projet WHERE MATCH('homoge*|homogé'); SHOW META; |
charset_table = U+00C8->e, U+00C9->e, U+00CA->e, U+00CB->e, U+00E8->e, U+00E9->e, U+00EA->e, U+00EB->e, U+0112->e, U+0113->e, U+0114->e, U+0115->e, U+0116->e, U+0117->e, U+0118->e, U+0119->e, U+011A->e, U+011B->e, U+018E->e, U+0190->e, U+01DD->e, U+0204->e, U+0205->e, U+0206->e, U+0207->e, U+0228->e, U+0229->e, U+0246->e, U+0247->e, U+0258->e, U+025B->e, U+025C->e, U+025D->e, U+025E->e, U+029A->e, U+1D07->e, U+1D08->e, U+1D31->e, U+1D32->e, U+1D49->e, U+1D4B->e, U+1D4C->e, U+1D92->e, U+1D93->e, U+1D94->e, U+1D9F->e, U+1E14->e, U+1E15->e, U+1E16->e, U+1E17->e, U+1E18->e, U+1E19->e, U+1E1A->e, U+1E1B->e, U+1E1C->e, U+1E1D->e, U+1EB8->e, U+1EB9->e, U+1EBA->e, U+1EBB->e, U+1EBC->e, U+1EBD->e, U+1EBE->e, U+1EBF->e, U+1EC0->e, U+1EC1->e, U+1EC2->e, U+1EC3->e, U+1EC4->e, U+1EC5->e, U+1EC6->e, U+1EC7->e, U+2091->e, \ |
U+00CC->i, U+00CD->i, U+00CE->i, U+00CF->i, U+00EC->i, U+00ED->i, U+00EE->i, U+00EF->i, U+010309->i, U+0128->i, U+0129->i, U+012A->i, U+012B->i, U+012C->i, U+012D->i, U+012E->i, U+012F->i, U+0130->i, U+0131->i, U+0197->i, U+01CF->i, U+01D0->i, U+0208->i, U+0209->i, U+020A->i, U+020B->i, U+0268->i, U+026A->i, U+040D->i, U+0418->i, U+0419->i, U+0438->i, U+0439->i, U+0456->i, U+1D09->i, U+1D35->i, U+1D4E->i, U+1D62->i, U+1D7B->i, U+1D96->i, U+1DA4->i, U+1DA6->i, U+1DA7->i, U+1E2C->i, U+1E2D->i, U+1E2E->i, U+1E2F->i, U+1EC8->i, U+1EC9->i, U+1ECA->i, U+1ECB->i, U+2071->i, U+2111->i, \ |
0..9, A..Z->a..z, _, a..z, \ |
U+A8->U+B8, U+B8, U+C0..U+DF->U+E0..U+FF, U+E0..U+FF |
|
# later (2.1.1) |
# lemmatizer_base = /usr/share/sphinx/dicts/ |
} |
|
|
# SPIP |
source spip : common |
{ |
# bibliotheque/more_recherche_spip_article.class.php |
# premier champ = index (obligatoire) |
|
# surtitre = '' partout |
# descriptif = '' partout |
# chapo = '' partout |
# soustitre = '' partout sauf id = 19 |
# ps = '' partout sauf id = 19 |
sql_query = \ |
SELECT id_article, titre, texte, date, lang, "spip" AS group_id, CONCAT("spip-", id_article) as main_id \ |
FROM spip_articles WHERE statut = "publie" |
|
# sql_attr_uint = id_article |
sql_attr_timestamp = date |
sql_attr_string = lang |
sql_attr_string = group_id |
sql_attr_string = main_id |
|
sql_field_string = titre |
|
sql_query_info = SELECT * FROM sphinx_doc WHERE id=$id |
} |
|
index i_spip : i_common { |
source = spip |
path = /var/lib/sphinx/spip |
|
# prefix_fields = titre, texte |
infix_fields = titre, texte |
} |
|
|
|
# PAPYRUS |
source papyrus : common |
{ |
#gm_nom |
#gm_titre |
#gm_titre_alternatif |
#gm_mots_cles # TODO |
#gm_description_libre # TODO |
#gm_description_resume # TODO |
#gm_description_table_matieres partout '' sauf gm_id_menu = 1 |
#gm_source partout '' sauf gm_id_menu = 587 |
#gm_auteur # TODO |
#gm_contributeur # TODO |
#gm_editeur # TODO |
#gm_categorie # TODO |
#gm_public partout '' |
#gmc_contenu |
sql_query = \ |
SELECT m.gm_id_menu, \ |
IF(gm_nom != '', gm_nom, IF(gm_titre != '', gm_titre, gm_titre_alternatif)) as titre, \ |
gmc_contenu AS texte, \ |
gm_mots_cles,gm_source, gm_auteur, gm_contributeur, gm_editeur, gm_categorie, \ |
\ |
gm_date_creation, \ |
"papyrus" AS group_id, \ |
CONCAT("papyrus-", m.gm_id_menu) as main_id \ |
\ |
FROM gen_menu m \ |
LEFT JOIN gen_menu_contenu mc ON mc.gmc_ce_menu = m.gm_id_menu \ |
AND mc.gmc_bool_dernier = 1 \ |
WHERE m.gm_date_fin_validite = '0000-00-00 00:00:00' OR LOWER(m.gm_date_fin_validite) < now() |
|
sql_attr_timestamp = gm_date_creation |
sql_attr_string = group_id |
sql_attr_string = main_id |
} |
|
index i_papyrus : i_common { |
source = papyrus |
path = /var/lib/sphinx/papyrus |
|
# prefix_fields = titre, texte |
infix_fields = titre, texte |
} |
|
|
|
# PROJET |
source projet : common { |
# p_id |
# p_titre |
# p_resume |
# p_description |
# pd_nom # erreur dans more_recherche_projet.class.php |
# pd_description # erreur dans more_recherche_projet.class.php |
sql_query = \ |
SELECT p_id, p_titre AS titre, p_description AS texte, \ |
p_resume, \ |
p_date_creation, \ |
"projet" AS group_id, \ |
CONCAT("projet-", p_id) as main_id \ |
FROM projet |
|
sql_attr_timestamp = p_date_creation |
sql_attr_string = group_id |
sql_attr_string = main_id |
} |
|
index i_projet : i_common { |
source = projet |
path = /var/lib/sphinx/projet |
|
# prefix_fields = titre, texte |
infix_fields = titre, texte |
} |
|
|
|
# BAZAR |
source bazar : common { |
sql_query = \ |
SELECT bf_id_fiche, bf_description AS texte, bf_titre AS titre, bf_date_debut_evenement, "bazar" AS group_id, \ |
CONCAT("bazar-", bf_id_fiche) as main_id \ |
FROM bazar_fiche |
|
sql_attr_timestamp = bf_date_debut_evenement |
sql_attr_string = group_id |
sql_attr_string = main_id |
} |
|
|
|
|
# misc... |
index i_bazar : i_common { |
source = bazar |
path = /var/lib/sphinx/bazar |
|
# prefix_fields = titre, texte |
infix_fields = titre, texte |
} |
|
index testrt |
{ |
type = rt |
rt_mem_limit = 32M |
|
path = /var/lib/sphinx/testrt |
charset_type = utf-8 |
|
rt_field = title |
rt_field = content |
rt_attr_uint = gid |
} |
|
|
indexer |
{ |
mem_limit = 32M |
} |
|
|
searchd |
{ |
listen = 127.0.0.1:9312 |
listen = 9306:mysql41 |
log = /var/log/sphinx/sphinx-searchd.log |
query_log = /var/log/sphinx/sphinx-query.log |
read_timeout = 5 |
max_children = 30 |
pid_file = /run/sphinx/sphinx-searchd.pid |
max_matches = 1000 |
seamless_rotate = 1 |
preopen_indexes = 1 |
unlink_old = 1 |
workers = threads # for RT to work |
binlog_path = /var/lib/sphinx |
|
collation_server = utf8_general_ci # unsure |
collation_libc_locale = fr_FR.UTF-8 |
# collation_libc_locale = fr_FR@euro |
# collation_libc_locale = fr_FR@euro |
} |
|
|
|
|
# sudo sphinx-searchd --stop -c sphinx-min.conf; sleep 2; sudo sphinx-indexer -c sphinx-min.conf i_projet; sphinx-search -q -c sphinx-min.conf -i i_projet "@texte homogé*" |
# sudo sphinx-searchd -c sphinx-min.conf |