Rev 2134 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#
# 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 = telabotap
sql_pass =
sql_db = tela_prod_v4
sql_sock = /run/mysqld/mysqld.sock
sql_query_pre = SET NAMES utf8
sql_query_pre = SET CHARACTER_SET_RESULTS=utf8
sql_query = SELECT 1
}
index i_common
{
# ces deux directive permettent à la source abstraite d'être valide
# lors de l'utilisation de sphinx-search sans précision d'index
source = common
path = /var/lib/sphinxsearch/void
docinfo = extern
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 tela_prod_v4<<<"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_type = utf-8
# valeur par défaut, cf http://sphinxsearch.com/docs/archives/1.10/conf-charset-table.html
# pour écraser i_common
charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, \
U+041..U+05a, U+0c6, U+0d0, U+0d8, U+110, U+126, U+132, U+13f, U+141, U+14a, \
U+152, U+166, U+181, U+186, U+187, U+18a, U+18e..U+190, U+193, U+198, U+19f, U+1a2, \
U+1b3, U+1c4, U+1c7, U+1ca, U+1e4, U+21c, U+061->U+041, U+0c0->U+041, U+0c1->U+041, \
U+0c2->U+041, U+0c3->U+041, U+0c4->U+041, U+0c5->U+041, U+0e0->U+041, U+0e1->U+041, \
U+0e2->U+041, U+0e3->U+041, U+0e4->U+041, U+0e5->U+041, U+100->U+041, U+101->U+041, \
U+102->U+041, U+103->U+041, U+104->U+041, U+105->U+041, U+1cd->U+041, U+1ce->U+041, \
U+1de->U+041, U+1df->U+041, U+1e0->U+041, U+1e1->U+041, U+1fa->U+041, U+1fb->U+041, \
U+200->U+041, U+201->U+041, U+202->U+041, U+203->U+041, U+226->U+041, U+227->U+041, \
U+1e01->U+041, U+1ea0->U+041, U+1ea1->U+041, U+1ea2->U+041, U+1ea3->U+041, \
U+1ea4->U+041, U+1ea5->U+041, U+1ea6->U+041, U+1ea7->U+041, U+1ea8->U+041, \
U+1ea9->U+041, U+1eaa->U+041, U+1eab->U+041, U+1eac->U+041, U+1ead->U+041, \
U+1eae->U+041, U+1eaf->U+041, U+1eb0->U+041, U+1eb1->U+041, U+1eb2->U+041, \
U+1eb3->U+041, U+1eb4->U+041, U+1eb5->U+041, U+1eb6->U+041, U+1eb7->U+041, \
U+062->U+042, U+1e02->U+042, U+1e03->U+042, U+1e04->U+042, U+1e05->U+042, \
U+1e06->U+042, U+1e07->U+042, U+063->U+043, U+0c7->U+043, U+0e7->U+043, \
U+106->U+043, U+107->U+043, U+108->U+043, U+109->U+043, U+10a->U+043, U+10b->U+043, \
U+10c->U+043, U+10d->U+043, U+1e08->U+043, U+1e09->U+043, U+064->U+044, \
U+10e->U+044, U+10f->U+044, U+1e0a->U+044, U+1e0b->U+044, U+1e0c->U+044, \
U+1e0d->U+044, U+1e0e->U+044, U+1e0f->U+044, U+1e10->U+044, U+1e11->U+044, \
U+1e12->U+044, U+1e13->U+044, U+065->U+045, U+0c8->U+045, U+0c9->U+045, \
U+0ca->U+045, U+0cb->U+045, U+0e8->U+045, U+0e9->U+045, U+0ea->U+045, U+0eb->U+045, \
U+112->U+045, U+113->U+045, U+114->U+045, U+115->U+045, U+116->U+045, U+117->U+045, \
U+118->U+045, U+119->U+045, U+11a->U+045, U+11b->U+045, U+204->U+045, U+205->U+045, \
U+206->U+045, U+207->U+045, U+228->U+045, U+229->U+045, U+1e14->U+045, \
U+1e15->U+045, U+1e16->U+045, U+1e17->U+045, U+1e18->U+045, U+1e19->U+045, \
U+1e1a->U+045, U+1e1b->U+045, U+1e1c->U+045, U+1e1d->U+045, U+1eb8->U+045, \
U+1eb9->U+045, U+1eba->U+045, U+1ebb->U+045, U+1ebc->U+045, U+1ebd->U+045, \
U+1ebe->U+045, U+1ebf->U+045, U+1ec0->U+045, U+1ec1->U+045, U+1ec2->U+045, \
U+1ec3->U+045, U+1ec4->U+045, U+1ec5->U+045, U+1ec6->U+045, U+1ec7->U+045, \
U+066->U+046, U+1e1e->U+046, U+1e1f->U+046, U+067->U+047, U+11c->U+047, \
U+11d->U+047, U+11e->U+047, U+11f->U+047, U+120->U+047, U+121->U+047, U+122->U+047, \
U+123->U+047, U+1e6->U+047, U+1e7->U+047, U+1f4->U+047, U+1f5->U+047, \
U+1e20->U+047, U+1e21->U+047, U+068->U+048, U+124->U+048, U+125->U+048, \
U+21e->U+048, U+21f->U+048, U+1e22->U+048, U+1e23->U+048, U+1e24->U+048, \
U+1e25->U+048, U+1e26->U+048, U+1e27->U+048, U+1e28->U+048, U+1e29->U+048, \
U+1e2a->U+048, U+1e2b->U+048, U+1e96->U+048, U+069->U+049, U+0cc->U+049, \
U+0cd->U+049, U+0ce->U+049, U+0cf->U+049, U+0ec->U+049, U+0ed->U+049, U+0ee->U+049, \
U+0ef->U+049, U+128->U+049, U+129->U+049, U+12a->U+049, U+12b->U+049, U+12c->U+049, \
U+12d->U+049, U+12e->U+049, U+12f->U+049, U+130->U+049, U+131->U+049, U+1cf->U+049, \
U+1d0->U+049, U+208->U+049, U+209->U+049, U+20a->U+049, U+20b->U+049, \
U+1e2c->U+049, U+1e2d->U+049, U+1e2e->U+049, U+1e2f->U+049, U+1ec8->U+049, \
U+1ec9->U+049, U+1eca->U+049, U+1ecb->U+049, U+06a->U+04a, U+134->U+04a, \
U+135->U+04a, U+1f0->U+04a, U+06b->U+04b, U+136->U+04b, U+137->U+04b, U+1e8->U+04b, \
U+1e9->U+04b, U+1e30->U+04b, U+1e31->U+04b, U+1e32->U+04b, U+1e33->U+04b, \
U+1e34->U+04b, U+1e35->U+04b, U+06c->U+04c, U+139->U+04c, U+13a->U+04c, \
U+13b->U+04c, U+13c->U+04c, U+13d->U+04c, U+13e->U+04c, U+1e36->U+04c, \
U+1e37->U+04c, U+1e38->U+04c, U+1e39->U+04c, U+1e3a->U+04c, U+1e3b->U+04c, \
U+1e3c->U+04c, U+1e3d->U+04c, U+06d->U+04d, U+1e3e->U+04d, U+1e3f->U+04d, \
U+1e40->U+04d, U+1e41->U+04d, U+1e42->U+04d, U+1e43->U+04d, U+06e->U+04e, \
U+0d1->U+04e, U+0f1->U+04e, U+143->U+04e, U+144->U+04e, U+145->U+04e, U+146->U+04e, \
U+147->U+04e, U+148->U+04e, U+1f8->U+04e, U+1f9->U+04e, U+1e44->U+04e, \
U+1e45->U+04e, U+1e46->U+04e, U+1e47->U+04e, U+1e48->U+04e, U+1e49->U+04e, \
U+1e4a->U+04e, U+1e4b->U+04e, U+06f->U+04f, U+0d2->U+04f, U+0d3->U+04f, \
U+0d4->U+04f, U+0d5->U+04f, U+0d6->U+04f, U+0f2->U+04f, U+0f3->U+04f, U+0f4->U+04f, \
U+0f5->U+04f, U+0f6->U+04f, U+14c->U+04f, U+14d->U+04f, U+14e->U+04f, U+14f->U+04f, \
U+150->U+04f, U+151->U+04f, U+1a0->U+04f, U+1a1->U+04f, U+1d1->U+04f, U+1d2->U+04f, \
U+1ea->U+04f, U+1eb->U+04f, U+1ec->U+04f, U+1ed->U+04f, U+20c->U+04f, U+20d->U+04f, \
U+20e->U+04f, U+20f->U+04f, U+22a->U+04f, U+22b->U+04f, U+22c->U+04f, U+22d->U+04f, \
U+22e->U+04f, U+22f->U+04f, U+230->U+04f, U+231->U+04f, U+1e4c->U+04f, \
U+1e4d->U+04f, U+1e4e->U+04f, U+1e4f->U+04f, U+1e50->U+04f, U+1e51->U+04f, \
U+1e52->U+04f, U+1e53->U+04f, U+1ecc->U+04f, U+1ecd->U+04f, U+1ece->U+04f, \
U+1ecf->U+04f, U+1ed0->U+04f, U+1ed1->U+04f, U+1ed2->U+04f, U+1ed3->U+04f, \
U+1ed4->U+04f, U+1ed5->U+04f, U+1ed6->U+04f, U+1ed7->U+04f, U+1ed8->U+04f, \
U+1ed9->U+04f, U+1eda->U+04f, U+1edb->U+04f, U+1edc->U+04f, U+1edd->U+04f, \
U+1ede->U+04f, U+1edf->U+04f, U+1ee0->U+04f, U+1ee1->U+04f, U+1ee2->U+04f, \
U+1ee3->U+04f, U+070->U+050, U+1e54->U+050, U+1e55->U+050, U+1e56->U+050, \
U+1e57->U+050, U+071->U+051, U+072->U+052, U+154->U+052, U+155->U+052, \
U+156->U+052, U+157->U+052, U+158->U+052, U+159->U+052, U+210->U+052, U+211->U+052, \
U+212->U+052, U+213->U+052, U+1e58->U+052, U+1e59->U+052, U+1e5a->U+052, \
U+1e5b->U+052, U+1e5c->U+052, U+1e5d->U+052, U+1e5e->U+052, U+1e5f->U+052, \
U+073->U+053, U+0df->U+053, U+15a->U+053, U+15b->U+053, U+15c->U+053, U+15d->U+053, \
U+15e->U+053, U+15f->U+053, U+160->U+053, U+161->U+053, U+17f->U+053, U+218->U+053, \
U+219->U+053, U+1e60->U+053, U+1e61->U+053, U+1e62->U+053, U+1e63->U+053, \
U+1e64->U+053, U+1e65->U+053, U+1e66->U+053, U+1e67->U+053, U+1e68->U+053, \
U+1e69->U+053, U+1e9b->U+053, U+074->U+054, U+162->U+054, U+163->U+054, \
U+164->U+054, U+165->U+054, U+21a->U+054, U+21b->U+054, U+1e6a->U+054, \
U+1e6b->U+054, U+1e6c->U+054, U+1e6d->U+054, U+1e6e->U+054, U+1e6f->U+054, \
U+1e70->U+054, U+1e71->U+054, U+1e97->U+054, U+075->U+055, U+0d9->U+055, \
U+0da->U+055, U+0db->U+055, U+0dc->U+055, U+0f9->U+055, U+0fa->U+055, U+0fb->U+055, \
U+0fc->U+055, U+168->U+055, U+169->U+055, U+16a->U+055, U+16b->U+055, U+16c->U+055, \
U+16d->U+055, U+16e->U+055, U+16f->U+055, U+170->U+055, U+171->U+055, U+172->U+055, \
U+173->U+055, U+1af->U+055, U+1b0->U+055, U+1d3->U+055, U+1d4->U+055, U+1d5->U+055, \
U+1d6->U+055, U+1d7->U+055, U+1d8->U+055, U+1d9->U+055, U+1da->U+055, U+1db->U+055, \
U+1dc->U+055, U+214->U+055, U+215->U+055, U+216->U+055, U+217->U+055, \
U+1e72->U+055, U+1e73->U+055, U+1e74->U+055, U+1e75->U+055, U+1e76->U+055, \
U+1e77->U+055, U+1e78->U+055, U+1e79->U+055, U+1e7a->U+055, U+1e7b->U+055, \
U+1ee4->U+055, U+1ee5->U+055, U+1ee6->U+055, U+1ee7->U+055, U+1ee8->U+055, \
U+1ee9->U+055, U+1eea->U+055, U+1eeb->U+055, U+1eec->U+055, U+1eed->U+055, \
U+1eee->U+055, U+1eef->U+055, U+1ef0->U+055, U+1ef1->U+055, U+076->U+056, \
U+1e7c->U+056, U+1e7d->U+056, U+1e7e->U+056, U+1e7f->U+056, U+077->U+057, \
U+174->U+057, U+175->U+057, U+1e80->U+057, U+1e81->U+057, U+1e82->U+057, \
U+1e83->U+057, U+1e84->U+057, U+1e85->U+057, U+1e86->U+057, U+1e87->U+057, \
U+1e88->U+057, U+1e89->U+057, U+1e98->U+057, U+078->U+058, U+1e8a->U+058, \
U+1e8b->U+058, U+1e8c->U+058, U+1e8d->U+058, U+079->U+059, U+0dd->U+059, \
U+0fd->U+059, U+0ff->U+059, U+176->U+059, U+177->U+059, U+178->U+059, U+232->U+059, \
U+233->U+059, U+1e8e->U+059, U+1e8f->U+059, U+1e99->U+059, U+1ef2->U+059, \
U+1ef3->U+059, U+1ef4->U+059, U+1ef5->U+059, U+1ef6->U+059, U+1ef7->U+059, \
U+1ef8->U+059, U+1ef9->U+059, U+07a->U+05a, U+179->U+05a, U+17a->U+05a, \
U+17b->U+05a, U+17c->U+05a, U+17d->U+05a, U+17e->U+05a, U+1e90->U+05a, \
U+1e91->U+05a, U+1e92->U+05a, U+1e93->U+05a, U+1e94->U+05a, U+1e95->U+05a, \
U+0e6->U+0c6, U+1e2->U+0c6, U+1e3->U+0c6, U+1fc->U+0c6, U+1fd->U+0c6, U+0f0->U+0d0, \
U+0f8->U+0d8, U+1fe->U+0d8, U+1ff->U+0d8, U+111->U+110, U+127->U+126, U+133->U+132, \
U+140->U+13f, U+142->U+141, U+14b->U+14a, U+153->U+152, U+167->U+166, U+253->U+181, \
U+254->U+186, U+188->U+187, U+257->U+18a, U+1dd->U+18e, U+259->U+18f, U+25b->U+190, \
U+260->U+193, U+199->U+198, U+275->U+19f, U+1a3->U+1a2, U+1b4->U+1b3, U+1c5->U+1c4, \
U+1c6->U+1c4, U+1c8->U+1c7, U+1c9->U+1c7, U+1cb->U+1ca, U+1cc->U+1ca, U+1e5->U+1e4, \
U+1f2->U+1f1, U+1f3->U+1f1, U+21d->U+21c
# later (2.1.1)
# lemmatizer_base = /usr/share/sphinx/dicts/
}
# SPIP
source spip : common
{
# sql_db = tela_prod_spip_actu
# 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, UNIX_TIMESTAMP(date) AS 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_field_string = group_id # sql field pour permettre du filtrage @group_id != spip par exemple
sql_attr_string = main_id
sql_field_string = titre
sql_query_info = SELECT * FROM spip_articles WHERE id_article=$id
}
index i_spip : i_common {
source = spip
path = /var/lib/sphinxsearch/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, \
\
UNIX_TIMESTAMP(gm_date_creation) AS date, \
"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 = date
sql_field_string = group_id
sql_attr_string = main_id
sql_query_info = SELECT * FROM gen_menu WHERE gm_id_menu=$id
}
index i_papyrus : i_common {
source = papyrus
path = /var/lib/sphinxsearch/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, \
UNIX_TIMESTAMP(p_date_creation) AS date, \
"projet" AS group_id, \
CONCAT("projet-", p_id) as main_id \
FROM projet
sql_attr_timestamp = date
sql_field_string = group_id
sql_attr_string = main_id
sql_query_info = SELECT * FROM projet WHERE p_id=$id
}
index i_projet : i_common {
source = projet
path = /var/lib/sphinxsearch/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, UNIX_TIMESTAMP(bf_date_debut_evenement) AS date, \
"bazar" AS group_id, CONCAT("bazar-", bf_id_fiche) as main_id \
FROM bazar_fiche
sql_attr_timestamp = date
sql_field_string = group_id
sql_attr_string = main_id
sql_query_info = SELECT * FROM bazar_fiche WHERE bf_id_fiche=$id
}
index i_bazar : i_common {
source = bazar
path = /var/lib/sphinxsearch/bazar
# prefix_fields = titre, texte
infix_fields = titre, texte
}
# COSTE
source coste : common {
sql_db = tb_eflore
sql_query = \
SELECT c.flore_bdtfx_nn AS id, c.nom_sci AS titre, dsc.body AS texte, cle.body AS determination, \
"coste" AS group_id, CONCAT("coste-", c.flore_bdtfx_nn) as main_id \
FROM tb_eflore.coste_v2_00 c \
LEFT JOIN tela_prod_wikini.florecoste_pages dsc ON c.page_wiki_dsc = dsc.tag AND dsc.latest = 'Y' \
LEFT JOIN tela_prod_wikini.florecoste_pages cle ON c.page_wiki_cle = cle.tag AND cle.latest = 'Y' \
WHERE c.flore_bdtfx_nn != ''
sql_field_string = group_id
sql_attr_string = main_id
sql_query_info = SELECT * FROM coste_v2_00 WHERE flore_bdtfx_nn=$id
}
index i_coste : i_common {
source = coste
path = /var/lib/sphinxsearch/coste
infix_fields = texte, titre
}
# NVJFL
source nvjfl : common {
sql_db = tb_eflore
# note: 66 taxons nvjfl n'ont pas de numéro nomenclatural
sql_query = \
SELECT b.num_nom, num_taxon, nom_sci AS titre, GROUP_CONCAT(DISTINCT nom_vernaculaire) AS texte, \
"nvjfl" AS group_id, CONCAT("nvjfl-", b.num_nom) as main_id \
FROM nvjfl_v2007 n \
LEFT JOIN bdtfx_v1_01 b ON n.num_taxon = b.num_taxonomique \
WHERE b.num_nom IS NOT NULL \
GROUP by num_taxon
sql_field_string = titre
sql_field_string = texte
sql_field_string = group_id
sql_attr_string = main_id
sql_attr_uint = num_taxon
sql_query_info = SELECT * FROM nvjfl_v2007 WHERE num_taxon=$id
}
index i_nvjfl : i_common {
source = nvjfl
path = /var/lib/sphinxsearch/nvjfl
infix_fields = texte, titre
}
# noms scientifiques / noms d'auteur BDTFX
source bdtfx : common {
sql_db = tb_eflore
sql_query = \
SELECT b.num_nom, b.nom_sci AS nom_sci, b.auteur AS auteur, \
"bdtfx" AS group_id, CONCAT("bdtfx-", b.num_nom) as main_id, b.num_nom, \
CONCAT(bret.nom_sci, ' ', bret.auteur) AS nom_ret \
FROM bdtfx_v1_01 b LEFT JOIN bdtfx_v1_01 bret ON b.num_nom_retenu = bret.num_nom \
UNION ALL \
SELECT a.num_nom + 500000, a.nom_sci, a.auteur, \
"bdtxa" AS group_id, CONCAT("bdtxa-", a.num_nom) AS main_id, a.num_nom, \
CONCAT(aret.nom_sci, ' ', aret.auteur) AS nom_ret \
FROM bdtxa_v1_01 a LEFT JOIN bdtxa_v1_01 aret ON a.num_nom_retenu = aret.num_nom \
UNION ALL \
SELECT i.num_nom + 1000000, i.nom_sci, i.auteur, \
"isfan" AS group_id, CONCAT("isfan-", i.num_nom) AS main_id, i.num_nom, \
CONCAT(iret.nom_sci, ' ', iret.auteur) AS nom_ret \
FROM isfan_v2013 i LEFT JOIN isfan_v2013 iret ON i.num_nom_retenu = iret.num_nom
sql_field_string = group_id
sql_field_string = nom_sci
sql_field_string = auteur
sql_attr_string = main_id
sql_attr_uint = num_nom
sql_attr_string = nom_ret
sql_query_info = SELECT num_nom, num_nom_retenu, num_tax_sup, rang, nom_sci, genre, auteur, annee, homonyme, nom_francais, num_taxonomique, nom_complet, famille FROM bdtfx_v1_01 \
WHERE num_nom=$id UNION \
SELECT num_nom, num_nom_retenu, num_tax_sup, rang, nom_sci, genre, auteur, annee, homonyme, nom_francais, num_tax, nom_complet, famille FROM bdtxa_v1_01 \
WHERE num_nom=$id UNION \
SELECT num_nom, num_nom_retenu, num_tax_sup, rang, nom_sci, genre, auteur, annee, NULL, NULL, num_taxonomique, nom_complet, famille FROM isfan_v2013 \
WHERE num_nom=$id
}
index i_bdtfx : i_common {
source = bdtfx
path = /var/lib/sphinxsearch/bdtfx
stopwords =
morphology =
infix_fields = b.nom_sci, b.auteur
enable_star = 0
min_word_len = 1
min_prefix_len = 0
min_infix_len = 3
}
# noms scientifiques / noms d'auteur BDTFX2
source bdtfx2 : common {
sql_db = tb_eflore
sql_query = \
SELECT b.num_nom, b.nom_sci AS nom_sci, b.auteur AS auteur, \
"bdtfx2" AS group_id, CONCAT("bdtfx2-", b.num_nom) as main_id, b.num_nom, \
CONCAT(bret.nom_sci, ' ', bret.auteur) AS nom_ret \
FROM bdtfx_v2_00 b LEFT JOIN bdtfx_v2_00 bret ON b.num_nom_retenu = bret.num_nom \
UNION ALL \
SELECT a.num_nom + 500000, a.nom_sci, a.auteur, \
"bdtxa" AS group_id, CONCAT("bdtxa-", a.num_nom) AS main_id, a.num_nom, \
CONCAT(aret.nom_sci, ' ', aret.auteur) AS nom_ret \
FROM bdtxa_v1_01 a LEFT JOIN bdtxa_v1_01 aret ON a.num_nom_retenu = aret.num_nom \
UNION ALL \
SELECT i.num_nom + 1000000, i.nom_sci, i.auteur, \
"isfan" AS group_id, CONCAT("isfan-", i.num_nom) AS main_id, i.num_nom, \
CONCAT(iret.nom_sci, ' ', iret.auteur) AS nom_ret \
FROM isfan_v2013 i LEFT JOIN isfan_v2013 iret ON i.num_nom_retenu = iret.num_nom
sql_field_string = group_id
sql_field_string = nom_sci
sql_field_string = auteur
sql_attr_string = main_id
sql_attr_uint = num_nom
sql_attr_string = nom_ret
sql_query_info = SELECT num_nom, num_nom_retenu, num_tax_sup, rang, nom_sci, genre, auteur, annee, homonyme, nom_francais, num_taxonomique, nom_complet, famille FROM bdtfx_v2_00 \
WHERE num_nom=$id UNION \
SELECT num_nom, num_nom_retenu, num_tax_sup, rang, nom_sci, genre, auteur, annee, homonyme, nom_francais, num_tax, nom_complet, famille FROM bdtxa_v1_01 \
WHERE num_nom=$id UNION \
SELECT num_nom, num_nom_retenu, num_tax_sup, rang, nom_sci, genre, auteur, annee, NULL, NULL, num_taxonomique, nom_complet, famille FROM isfan_v2013 \
WHERE num_nom=$id
}
index i_bdtfx2 : i_common {
source = bdtfx2
path = /var/lib/sphinxsearch/bdtfx2
stopwords =
morphology =
infix_fields = b.nom_sci, b.auteur
enable_star = 0
min_word_len = 1
min_prefix_len = 0
min_infix_len = 3
}
# COSTE / NVJFL
# source costenvjfl : common {
# sql_db = tb_eflore
# sql_query = \
# SELECT c.flore_bdtfx_nn AS id, c.nom_sci AS titre, dsc.body AS texte, cle.body AS determination, \
# GROUP_CONCAT(n.nom_vernaculaire) AS nvjfl, n.num_taxon AS num_taxonomique, \
# "costenvjfl" AS group_id, CONCAT("costenvjfl-", c.flore_bdtfx_nn) as main_id \
# FROM tb_eflore.coste_v2_00 c \
# LEFT JOIN tela_prod_wikini.florecoste_pages dsc ON c.page_wiki_dsc = dsc.tag AND dsc.latest = 'Y' \
# LEFT JOIN tela_prod_wikini.florecoste_pages cle ON c.page_wiki_cle = cle.tag AND cle.latest = 'Y' \
# LEFT JOIN bdtfx_v1_01 b ON c.flore_bdtfx_nn = b.num_nom \
# LEFT JOIN nvjfl_v2007 n ON b.num_taxonomique = n.num_taxon \
# WHERE c.flore_bdtfx_nn != ''
# sql_field_string = group_id
# sql_attr_string = main_id
# sql_attr_uint = num_taxonomique
# sql_query_info = SELECT * FROM coste_v2_00 WHERE flore_bdtfx_nn=$id
# }
# index i_costenvjfl : i_common {
# source = costenvjfl
# path = /var/lib/sphinxsearch/costenvjfl
# infix_fields = texte, titre
# }
# notes:
# une nouvelle source d'indexation *DOIT*, pour être utilisable par le moteur de recherche papyrus,
# définir les attributs *group_id* et *main_id*.
# cf: sphinx_search dans moteur_recherche_sphinx.php
# misc...
# index testrt
# {
# type = rt
# rt_mem_limit = 32M
# path = /var/lib/sphinxsearch/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
# note: les collations n'affectent pas l'indexation mais seulement
# les attributs:
# cf: http://sphinxsearch.com/bugs/view.php?id=1597
# collation_server = utf8_general_ci
# collation_libc_locale = fr_FR.UTF-8
# collation_libc_locale = fr_FR@euro
}
# sudo sphinx-searchd --stopwait -c sphinx-min.conf; 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
# problème de charsets et génération de charset_table pour i_coste:
# + https://raw.github.com/melo/scripts/master/bin/x-sphinx-charset-generator [ moins fiable ]
# $ wget https://raw.github.com/tom--/Collation-to-Charset-Table/master/collation_2_charset_table-{1,2}.php
# $ php collation_2_charset_table-1.php|sed -n -e '/^[A-Z]/p'|php collation_2_charset_table-2.php