Compare commits

..

17 Commits
master ... 1.0

Author SHA1 Message Date
Michael RICOIS
65d14abb63 Suppression 2011-12-08 09:17:31 +00:00
Michael RICOIS
18bf89747d Configuration, Nouvelle version, etc 2011-12-08 09:17:06 +00:00
Michael RICOIS
2427c4d18f Mise à jour et test 2011-11-14 11:33:28 +00:00
Michael RICOIS
87d635651c Merge depuis trunk 2011-10-28 08:34:13 +00:00
Michael RICOIS
8110151f3d Erreur 2011-10-28 08:32:48 +00:00
Michael RICOIS
972230ab8e Code pour branche 1.0 2011-10-28 08:32:34 +00:00
Michael RICOIS
edcc2c92df Création branche 2011-10-28 08:31:24 +00:00
Michael RICOIS
ee0d2d1a22 Suppression pour mise en conformité 2011-10-28 08:30:04 +00:00
Michael RICOIS
aa84d0ecbe Suppression 2011-10-20 14:41:51 +00:00
Damien LASSERRE
d3de8de471 2011-09-21 12:26:08 +00:00
Damien LASSERRE
0659f8af06 2011-09-08 07:14:50 +00:00
Damien LASSERRE
d09fbcf260 2011-09-07 08:33:00 +00:00
Damien LASSERRE
b4fec556bd 2011-09-07 08:32:45 +00:00
Damien LASSERRE
eeadf3270f 2011-09-07 08:32:18 +00:00
Damien LASSERRE
2144578483 2011-09-07 08:31:11 +00:00
Damien LASSERRE
008dd25eb3 2011-09-07 08:30:40 +00:00
Damien LASSERRE
2e82a4004d 2011-09-07 08:30:05 +00:00
71 changed files with 1139 additions and 3011 deletions

1
.gitignore vendored
View File

@ -1 +0,0 @@
/.project

91
NOTE
View File

@ -1,91 +0,0 @@
La base de données doit communiqué en UTF-8
sql_query_pre = SET NAMES utf8
charset_type = utf-8
# 'utf-8' defaults for English and Russian
charset_table = 0..9, A..Z->a..z, _, a..z, \
U+410..U+42F->U+430..U+44F, U+430..U+44F
# For french
charset_table = 0..9, A..Z->a..z, a..z, \
U+00C0..U+00D6->U+00E0..U+00F6, U+00E0..U+00F6, \
U+00D8..U+00DE->U+00F8..U+00FE, U+00F8..U+00FE, \
U+0152->U+0153, U+0153 \
Morphology
==========
# builtin preprocessors are 'none', 'stem_en', 'stem_ru', 'stem_enru',
# 'soundex', and 'metaphone'; additional preprocessors available from
# libstemmer are 'libstemmer_XXX', where XXX is algorithm code
# (see libstemmer_c/libstemmer/modules.txt)
morphology = libstemmer_french
Taille minimum des mots ou l'on applique la morphology
min_stemming_len = 4
According to libstimmer.c/libstimmer/modules.txt, the french module can be refered to by either
french, fr, fre, fra... french UTF_8,ISO_8859_1 french,fr,fre,fra
Utilisation des stopwords
=========================
un, une, le, la, les, de, des, du, dans, l', d', @
Créer un fichier de stopwords
sudo /usr/local/sphinx/bin/indexer --config /etc/sphinxsearch/sphinx.conf --buildstops stopwords-ent.txt 100 ent
Utilisation des wordforms
=========================
Appliquer après les règles de charset_table
Stemming n'est pas appliquer à ces mots , ils deviennent des exceptions
Les mots définis sont utilisé pour normalisé les mots durant l'indexation et la recherche,
il est donc nécessaire de réindexé et redémarrer la recherche pour appliquer les changements
Divers
------
& > ET
Les chiffres
------------
un > 1
deux > 2
trois > 3
quatre > 4
cinq > 5
six > 6
sept > 7
huit > 8
neuf > 9
dix > 10
onze > 11
douze > 12
treize > 13
quatorze > 14
quinze > 15
seize > 16
vingt > 20
vingts > 20
trente > 30
quarante > 40
cinquante > 50
soixante > 60
quatrevingt > 80
cent > 100
cents > 100
mille > 1000
Les chiffres romain
-------------------
Les éléments de voies et abbréviations
--------------------------------------
Voir le wordforms

62
README
View File

@ -1,62 +0,0 @@
USAGE
=====
Sphinx Engine configuration
---------------------------
- Config is store in config/
sphinx.conf : Sphinx Engine config
*.conf : one file per index
conf with "tmp" must be use only on master
- Create /etc/sphinxsearch/sphinx.conf
- Create /etc/sphinxsearch/sphinx.reprise.conf
- Data storage
/var/lib/sphinxsearch/log : Log
/var/lib/sphinxsearch/idx : Data index
Environment variables
ENV_MYSQLHOST
ENV_MYSQLUSER
ENV_MYSQLPASS
sed -i -e 's/ENV_MYSQLHOST/VALUE/g' sphinx.*.conf
sed -i -e 's/ENV_MYSQLUSER/VALUE/g' sphinx.*.conf
sed -i -e 's/ENV_MYSQLPASS/VALUE/g' sphinx.*.conf
sed -i -e 's/ENV_MYSQLHOST/VALUE/g' indexer/*.sh
sed -i -e 's/ENV_MYSQLUSER/VALUE/g' indexer/*.sh
sed -i -e 's/ENV_MYSQLPASS/VALUE/g' indexer/*.sh
- Crontab
- Logrotate
Indexing
--------
indexer-*.sh : Index on master database with rotation
slave-*.sh : Index on slave database only if master table have rotated
manual-*.sh : Manually reload index
Ubuntu PPA repository
=====================
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:builds/sphinxsearch-rel22
sudo apt-get install libstemmer0d
sudo apt-get update && sudo apt-get install sphinxsearch
Manual installation
===================
apt-get install mysql-client-5.5
apt-get install gcc g++ make libmysqld-dev
wget -nv -O - http://snowball.tartarus.org/dist/libstemmer_c.tgz | tar zx
wget -nv -O - https://re2.googlecode.com/files/re2-20140304.tgz | tar zx
wget http://sphinxsearch.com/files/sphinx-2.2.7-release.tar.gz
tar xzvf sphinx-2.2.7-release.tar.gz
cp -R libstemmer_c/* sphinx-2.2.7-release/libstemmer_c/
sed -i -e 's/stem_ISO_8859_1_hungarian/stem_ISO_8859_2_hungarian/g' sphinx-2.2.7-release/libstemmer_c/Makefile.in
cp -R re2/* sphinx-2.2.7-release/libre2/
cd sphinx-2.2.7-release
./configure --with-libstemmer --with-re2 --prefix=/usr/local/sphinx
make
make install

137
Sphinx.sh Executable file
View File

@ -0,0 +1,137 @@
#!/bin/bash
allVersion=("2.0.1" "0.9.9" "2.0.2")
declare -A ERREURS
declare -A ASTUCES
declare -A ASTUCESDEV
ROUGE="\\033[1;31m"
NORMAL="\\033[0;39m"
CYAN="\\033[1;36m"
VERT="\\033[1;32m"
BOLD="\\033[1m"
UNDERLINE="\\033[4m"
TEXTNONE="\\033[0m"
#Var
dir="Exist"
log="Exist"
dbs="Exist"
sphinx="Exist"
sphinxlog="Exist"
ERREURS=(
["CHMOD"]="Execute the script with SUDO or in ROOT"
["DIRECTORY"]="Directory not create"
["CMD"]="This command not exist"
["NOCMD"]="Please enter options")
ASTUCES=(
["CREATE"]="Sphinx --create (prepare l'environement)");
function loadIndication() {
while [ -d "/proc/$1" ]
do #Current PID in /proc
echo -en "Loading... /\033[1G"; sleep .07
echo -en "Loading... -\033[1G"; sleep .07
echo -en "Loading... / \033[1G"; sleep .07
echo -en "Loading... |\033[1G"; sleep .07
done
}
if [ `id -u` = 0 ] #Need Root or Sudo
then
commande=('--install' '--all')
for i; do
case $i in
'--help')
echo -e $ROUGE"*************************************************************************************************************************************"$NORMAL
echo -e "--install version : Vous permet d'installer configurer et crée les indexe et la libstemmer compilation, installation et configuration";
echo -e "--delete : Vous permet de restaurer les parametres de la machines en supprimer la configuration et l'installation"
echo -e "--version : Vous retournes les dernieres version disponnibles en téléchargement sur Sphinx."
echo -e $ROUGE"**************************************************************************************************************************************"$NORMAL
exit;
;;
'--delete')
`rm -r indexeConf tmp sphinx-* wget* libste* *~ 2> /dev/null`
echo -e "- Clean directory"
exit
;;
'--version')
echo -e "1. Last version : 2.0.1"
echo -e "2. Past version : 0.9.9\n"
;;
'--install')
if [ ! -e /dbs ];then echo -e "/dbs not exist !"; exit; fi
if [ ! -e tmp ];then `mkdir tmp`; fi
if [ ! -e /dbs/sphinx ];then `mkdir /dbs/sphinx`; fi
if [ ! -e /usr/local/sphinx ];then `mkdir /dbs/sphinx`; fi
if [ ! -e /dbs/sphinxlog ];then `mkdir /dbs/sphinxlog`; fi
if [ ! -e /init.d/sphinxsearch ];then `cp initscript/sphinxsearch /etc/init.d/ > /dev/null` ;`chmod +x /etc/init.d/sphinxsearch > /dev/null`; `update-rc.d sphinxsearch defaults > /dev/null`; fi
if [ ! -e config/${HOSTNAME} ];then `mkdir config/${HOSTNAME}`;fi
if [ ! -e sphinx-2.0.1.tar.gz ] || [ ! -e sphinx-0.9.9.tar.gz ] || [ ! -e sphinx-2.0.2.tar.gz ]
then
if [ ! -z $2 ]; then
if [ $2 == "2.0.1" ]; then
version="$2-beta"
elif [ $2 == "0.9.9" ]; then
version="$2-beta"
elif [ $2 == "2.0.2" ]; then
version="$2"
else
echo -e $ROUGE"[Erreur]: This version not exist !"$NORMAL
exit
fi
echo -e $CYAN"Download Sphinx-$version..."$NORMAL
`wget -b http://sphinxsearch.com/files/sphinx-$version.tar.gz >/dev/null`
loadIndication `(ps -C wget -o pid=)`
`rm wget-log*`
else
echo -e $ROUGE"[Erreur]: Please specifie version, exemple 2.0.1 or 0.9.9"$NORMAL
exit
fi
fi
`tar -z -xf sphinx-$version.tar.gz -C tmp `
`rm sphinx-$version.tar.gz*`
echo -e " - Extract files..."
echo -e " - Complited"
#If libstemmer not installed in tmp/
if [ -e libstemmer_c.tgz ]
then
echo -e $CYAN"Extract file from libstemmer_c..."$NORMAL
`mv libstemmer_c.tgz tmp/sphinx-$version/libstemmer_c; cd tmp/sphinx-$version/libstemmer_c/ ; tar -zxf libstemmer_c.tgz`
echo -e " - Complited"
else
echo -e $CYAN"Download and Configure libstemmer..."$NORMAL
`cd tmp/sphinx-$version ; wget -b http://snowball.tartarus.org/dist/libstemmer_c.tgz > /dev/null`
loadIndication `(ps -C wget -o pid=)`
`cd tmp/sphinx-$version ; tar -zxf libstemmer_c.tgz`
echo -e "- Complited"
fi
echo -e "- Extract files..."
libstemmer="100%"
echo ""
echo -e $CYAN"Configuration progress..."$ROUGE
`cd tmp/sphinx-$version ; sh configure --with-libstemmer --prefix=/usr/local/sphinx 1> /dev/null `
echo -e $NORMAL"- Complited"
echo -e $NORMAL
echo -e $CYAN"Compilation progress..."$ROUGE
if [ $version != "2.0.1-beta" ];then `cd tmp/sphinx-$version ; make; make install ` ;
else
`cd tmp/sphinx-$version/ ; make; make install`;fi
echo -e $NORMAL" - Complited"
echo -e $VERT"The installation as been finish ! great ! thank's damien :)"$NORMAL
exit
;;
*)
#Default
echo -e $ROUGE"[Erreur]" ${ERREURS["CMD"]} $NORMAL
exit
;;
esac
done
echo -e $ROUGE"[Erreur]" ${ERREURS["NOCMD"]} $NORMAL
else
echo -e $ROUGE"[Erreur]" ${ERREURS["CHMOD"]} $NORMAL
fi

View File

@ -0,0 +1,32 @@
source source_act
{
type = mysql
sql_host = 192.168.78.230
sql_user = sphinx
sql_pass = indexer
sql_db = jo
sql_query_pre =
sql_query = \
SELECT id, Siren1, RaisonSociale, Siren2, actif, dateLien, IF(dateUpdate>dateInsert,dateUpdate,dateInsert) as dateMaj, \
source, Pmin*1 AS PminNum, MajMin, PpPm, IF(Pays='','FRA',Pays) AS Pays \
FROM liens \
WHERE ActionPart=1 AND Siren1>1000 AND Siren1 IN (SELECT DISTINCT SIREN FROM etablissements_old);
sql_attr_uint = actif
sql_attr_uint = source
sql_attr_uint = PminNum
sql_attr_str2ordinal= MajMin
sql_attr_str2ordinal= PpPm
sql_attr_str2ordinal= Pays
}
index act
{
source = source_act
path = /dbs/sphinx/act
docinfo = extern
morphology = none
charset_type = sbcs
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0..U+DE->U+E0..U+FE, U+DF, U+E0..U+FF
}

View File

@ -0,0 +1,37 @@
source dir
{
type = mysql
sql_host = 192.168.78.230
sql_user = sphinx
sql_pass = indexer
sql_db = jo
sql_query_pre =
sql_query = \
SELECT id, siren, adr_dep, typeDir, dirSiren, civilite, CONCAT(nom,' ',naissance_nom, ' ', dirRS) AS nom, prenom, \
YEAR(naissance_date) AS naiss_annee, \
MONTH(naissance_date) AS naiss_mois, \
DAY(naissance_date) AS naiss_jour, \
naissance_lieu, fonction_code, actif \
FROM dirigeants;
sql_attr_str2ordinal = civilite
sql_attr_str2ordinal = typeDir
sql_attr_str2ordinal = fonction_code
sql_attr_uint = dirSiren
sql_attr_uint = naiss_annee
sql_attr_uint = naiss_mois
sql_attr_uint = naiss_jour
sql_attr_uint = actif
sql_attr_uint = adr_dep
}
index dir
{
source = dir
path = /dbs/sphinx/dir
docinfo = extern
morphology = none
charset_type = sbcs
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0..U+DE->U+E0..U+FE, U+DF, U+E0..U+FF
}

View File

@ -0,0 +1,37 @@
source dir
{
type = mysql
sql_host = 192.168.78.230
sql_user = sphinx
sql_pass = indexer
sql_db = jo
sql_query_pre =
sql_query = \
SELECT id, siren, adr_dep, typeDir, dirSiren, civilite, CONCAT(nom,' ',naissance_nom, ' ', dirRS) AS nom, prenom, \
YEAR(naissance_date) AS naiss_annee, \
MONTH(naissance_date) AS naiss_mois, \
DAY(naissance_date) AS naiss_jour, \
naissance_lieu, fonction_code, actif \
FROM dirigeants_tmp;
sql_attr_str2ordinal = civilite
sql_attr_str2ordinal = typeDir
sql_attr_str2ordinal = fonction_code
sql_attr_uint = dirSiren
sql_attr_uint = naiss_annee
sql_attr_uint = naiss_mois
sql_attr_uint = naiss_jour
sql_attr_uint = actif
sql_attr_uint = adr_dep
}
index dir
{
source = dir
path = /dbs/sphinx/dir
docinfo = extern
morphology = none
charset_type = sbcs
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0..U+DE->U+E0..U+FE, U+DF, U+E0..U+FF
}

View File

@ -0,0 +1,40 @@
source ent
{
type = mysql
sql_host = 192.168.78.230
sql_user = sphinx
sql_pass = indexer
sql_db = jo
sql_query_pre =
sql_query = SELECT id, siren, nic, siege, CONCAT(raisonSociale,\
' "" ',enseigne,' "" ',sigle,' "" ',identite_pre,' "" ',\
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(sigle,' ',''),\
'@','A'), '&',' ET '),'/',''),',',''),'-',''),'.',''),' ',\
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(sigle,\
'@','A'), '&',' ET '),'/',''),',',''),'-',''),'.','')) AS nom, adr_dep, \
actif, adr_num, adr_typeVoie, CONCAT(adr_libVoie,' ',adr_comp) AS adresse, adr_cp, \
adr_ville AS ville, cj, ape_etab, (siren>200) AS sirenValide, rang \
FROM etablissements;
sql_attr_str2ordinal = adr_typeVoie
sql_attr_uint = siren
sql_attr_uint = nic
sql_attr_uint = siege
sql_attr_uint = adr_num
sql_attr_uint = adr_cp
sql_attr_uint = adr_dep
sql_attr_uint = actif
sql_attr_uint = cj
sql_attr_uint = sirenValide
sql_attr_uint = rang
}
index ent
{
source = ent
path = /dbs/sphinx/ent
docinfo = extern
charset_type = sbcs
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0..U+DE->U+E0..U+FE, U+DF, U+E0..U+FF
}

View File

@ -0,0 +1,41 @@
source ent
{
type = mysql
sql_host = 192.168.78.230
sql_user = sphinx
sql_pass = indexer
sql_db = jo
sql_query_pre =
sql_query = SELECT id, siren, nic, siege, CONCAT(raisonSociale,\
' "" ',enseigne,' "" ',sigle,' "" ',identite_pre,' "" ',\
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(sigle,' ',''),\
'@','A'), '&',' ET '),'/',''),',',''),'-',''),'.',''),' ',\
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(sigle,\
'@','A'), '&',' ET '),'/',''),',',''),'-',''),'.','')) AS nom, adr_dep, \
actif, adr_num, adr_typeVoie, CONCAT(adr_libVoie,' ',adr_comp) AS adresse, adr_cp, \
adr_ville AS ville, cj, ape_etab, (siren>200) AS sirenValide, rang \
FROM etablissements_tmp;
sql_attr_str2ordinal = adr_typeVoie
sql_attr_uint = siren
sql_attr_uint = nic
sql_attr_uint = siege
sql_attr_uint = adr_num
sql_attr_uint = adr_cp
sql_attr_uint = adr_dep
sql_attr_uint = actif
sql_attr_uint = cj
sql_attr_uint = sirenValide
sql_attr_uint = rang
}
index ent
{
source = ent
path = /dbs/sphinx/ent
docinfo = extern
charset_type = sbcs
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0..U+DE->U+E0..U+FE, U+DF, U+E0..U+FF
}

View File

@ -0,0 +1,23 @@
source histo
{
type = mysql
sql_host = 192.168.78.230
sql_user = sphinx_histo
sql_pass = sphinx
sql_db = histobodacc
sql_port = 3306 # optional, default is 3306
sql_query = SELECT id, nomFichier, annee1, dateBod, texte FROM bodacc_ocr;
sql_attr_uint = annee1
sql_query_info = SELECT * FROM bodacc_ocr WHERE id=$id
}
index histo
{
source = histo
path = /home/sphinx/histo
docinfo = extern
morphology = none
min_word_len = 1
charset_type = sbcs
html_strip = 1
}

View File

@ -0,0 +1,40 @@
source ent
{
type = mysql
sql_host = 192.168.3.30
sql_user = sphinx
sql_pass = indexer
sql_db = jo
sql_query_pre =
sql_query = SELECT id, siren, nic, siege, CONCAT(raisonSociale,\
' "" ',enseigne,' "" ',sigle,' "" ',identite_pre,' "" ',\
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(sigle,' ',''),\
'@','A'), '&',' ET '),'/',''),',',''),'-',''),'.',''),' ',\
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(sigle,\
'@','A'), '&',' ET '),'/',''),',',''),'-',''),'.','')) AS nom, adr_dep, \
actif, adr_num, adr_typeVoie, CONCAT(adr_libVoie,' ',adr_comp) AS adresse, adr_cp, \
adr_ville AS ville, cj, ape_etab, (siren>200) AS sirenValide, rang \
FROM etablissements;
sql_attr_str2ordinal = adr_typeVoie
sql_attr_uint = siren
sql_attr_uint = nic
sql_attr_uint = siege
sql_attr_uint = adr_num
sql_attr_uint = adr_cp
sql_attr_uint = adr_dep
sql_attr_uint = actif
sql_attr_uint = cj
sql_attr_uint = sirenValide
sql_attr_uint = rang
}
index ent
{
source = ent
path = /dbs/sphinx/ent
docinfo = extern
charset_type = sbcs
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0..U+DE->U+E0..U+FE, U+DF, U+E0..U+FF
}

View File

@ -0,0 +1,41 @@
source ent
{
type = mysql
sql_host = 192.168.3.30
sql_user = sphinx
sql_pass = indexer
sql_db = jo
sql_query_pre =
sql_query = SELECT id, siren, nic, siege, CONCAT(raisonSociale,\
' "" ',enseigne,' "" ',sigle,' "" ',identite_pre,' "" ',\
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(sigle,' ',''),\
'@','A'), '&',' ET '),'/',''),',',''),'-',''),'.',''),' ',\
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(sigle,\
'@','A'), '&',' ET '),'/',''),',',''),'-',''),'.','')) AS nom, adr_dep, \
actif, adr_num, adr_typeVoie, CONCAT(adr_libVoie,' ',adr_comp) AS adresse, adr_cp, \
adr_ville AS ville, cj, ape_etab, (siren>200) AS sirenValide, rang \
FROM etablissements_tmp;
sql_attr_str2ordinal = adr_typeVoie
sql_attr_uint = siren
sql_attr_uint = nic
sql_attr_uint = siege
sql_attr_uint = adr_num
sql_attr_uint = adr_cp
sql_attr_uint = adr_dep
sql_attr_uint = actif
sql_attr_uint = cj
sql_attr_uint = sirenValide
sql_attr_uint = rang
}
index ent
{
source = ent
path = /dbs/sphinx/ent
docinfo = extern
charset_type = sbcs
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0..U+DE->U+E0..U+FE, U+DF, U+E0..U+FF
}

77
config/Sphinx/sphinx.conf Normal file
View File

@ -0,0 +1,77 @@
#############################################################################
## indexer settings
#############################################################################
indexer
{
# memory limit, in bytes, kiloytes (16384K) or megabytes (256M)
# optional, default is 32M, max is 2047M, recommended is 256M to 1024M
mem_limit = 2047M
# maximum IO calls per second (for I/O throttling)
# optional, default is 0 (unlimited)
#
# max_iops = 40
# maximum IO call size, bytes (for I/O throttling)
# optional, default is 0 (unlimited)
#
# max_iosize = 1048576
}
#############################################################################
## searchd settings
#############################################################################
searchd
{
# IP address to bind on
# optional, default is 0.0.0.0 (ie. listen on all interfaces)
#
# address = 127.0.0.1
# address = 192.168.0.1
# searchd TCP port number
# mandatory, default is 3312
listen = 3312
# log file, searchd run info is logged here
# optional, default is 'searchd.log'
log = /dbs/sphinxlog/searchd.log
# query log file, all search queries are logged here
# optional, default is empty (do not log queries)
query_log = /dbs/sphinxlog/query.log
# client read timeout, seconds
# optional, default is 5
read_timeout = 5
# maximum amount of children to fork (concurrent searches to run)
# optional, default is 0 (unlimited)
max_children = 30
# PID file, searchd process ID file name
# mandatory
pid_file = /var/log/searchd.pid
# max amount of matches the daemon ever keeps in RAM, per-index
# WARNING, THERE'S ALSO PER-QUERY LIMIT, SEE SetLimits() API CALL
# default is 1000 (just like Google)
max_matches = 1000
# seamless rotate, prevents rotate stalls if precaching huge datasets
# optional, default is 1
seamless_rotate = 1
# whether to forcibly preopen all indexes on startup
# optional, default is 0 (do not preopen)
preopen_indexes = 0
# whether to unlink .old index copies on succesful rotation.
# optional, default is 1 (do unlink)
unlink_old = 1
}

View File

@ -0,0 +1,32 @@
source source_act
{
type = mysql
sql_host = 192.168.3.30
sql_user = sphinx
sql_pass = indexer
sql_db = jo
sql_query_pre =
sql_query = \
SELECT id, Siren1, RaisonSociale, Siren2, actif, dateLien, IF(dateUpdate>dateInsert,dateUpdate,dateInsert) as dateMaj, \
source, Pmin*1 AS PminNum, MajMin, PpPm, IF(Pays='','FRA',Pays) AS Pays \
FROM liens \
WHERE ActionPart=1 AND Siren1>1000 AND Siren1 IN (SELECT DISTINCT SIREN FROM etablissements_old);
sql_attr_uint = actif
sql_attr_uint = source
sql_attr_uint = PminNum
sql_attr_str2ordinal= MajMin
sql_attr_str2ordinal= PpPm
sql_attr_str2ordinal= Pays
}
index act
{
source = source_act
path = /dbs/sphinx/act
docinfo = extern
morphology = none
charset_type = sbcs
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0..U+DE->U+E0..U+FE, U+DF, U+E0..U+FF
}

View File

@ -0,0 +1,37 @@
source dir
{
type = mysql
sql_host = 192.168.3.30
sql_user = sphinx
sql_pass = indexer
sql_db = jo
sql_query_pre =
sql_query = \
SELECT id, siren, adr_dep, typeDir, dirSiren, civilite, CONCAT(nom,' ',naissance_nom, ' ', dirRS) AS nom, prenom, \
YEAR(naissance_date) AS naiss_annee, \
MONTH(naissance_date) AS naiss_mois, \
DAY(naissance_date) AS naiss_jour, \
naissance_lieu, fonction_code, actif \
FROM dirigeants_tmp;
sql_attr_str2ordinal = civilite
sql_attr_str2ordinal = typeDir
sql_attr_str2ordinal = fonction_code
sql_attr_uint = dirSiren
sql_attr_uint = naiss_annee
sql_attr_uint = naiss_mois
sql_attr_uint = naiss_jour
sql_attr_uint = actif
sql_attr_uint = adr_dep
}
index dir
{
source = source_dir
path = /dbs/sphinx/dir
docinfo = extern
morphology = none
charset_type = sbcs
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0..U+DE->U+E0..U+FE, U+DF, U+E0..U+FF
}

View File

@ -0,0 +1,23 @@
source histo
{
type = mysql
sql_host = 192.168.3.24
sql_user = sphinx_histo
sql_pass = sphinx
sql_db = histobodacc
sql_port = 3306 # optional, default is 3306
sql_query = SELECT id, nomFichier, annee1, dateBod, texte FROM bodacc_ocr;
sql_attr_uint = annee1
sql_query_info = SELECT * FROM bodacc_ocr WHERE id=$id
}
index histo
{
source = histo
path = /home/sphinx/histo
docinfo = extern
morphology = none
min_word_len = 1
charset_type = sbcs
html_strip = 1
}

View File

@ -0,0 +1,77 @@
#############################################################################
## indexer settings
#############################################################################
indexer
{
# memory limit, in bytes, kiloytes (16384K) or megabytes (256M)
# optional, default is 32M, max is 2047M, recommended is 256M to 1024M
mem_limit = 2047M
# maximum IO calls per second (for I/O throttling)
# optional, default is 0 (unlimited)
#
# max_iops = 40
# maximum IO call size, bytes (for I/O throttling)
# optional, default is 0 (unlimited)
#
# max_iosize = 1048576
}
#############################################################################
## searchd settings
#############################################################################
searchd
{
# IP address to bind on
# optional, default is 0.0.0.0 (ie. listen on all interfaces)
#
# address = 127.0.0.1
# address = 192.168.0.1
# searchd TCP port number
# mandatory, default is 3312
listen = 3312
# log file, searchd run info is logged here
# optional, default is 'searchd.log'
log = /dbs/sphinxlog/searchd.log
# query log file, all search queries are logged here
# optional, default is empty (do not log queries)
query_log = /dbs/sphinxlog/query.log
# client read timeout, seconds
# optional, default is 5
read_timeout = 5
# maximum amount of children to fork (concurrent searches to run)
# optional, default is 0 (unlimited)
max_children = 30
# PID file, searchd process ID file name
# mandatory
pid_file = /var/log/searchd.pid
# max amount of matches the daemon ever keeps in RAM, per-index
# WARNING, THERE'S ALSO PER-QUERY LIMIT, SEE SetLimits() API CALL
# default is 1000 (just like Google)
max_matches = 1000
# seamless rotate, prevents rotate stalls if precaching huge datasets
# optional, default is 1
seamless_rotate = 1
# whether to forcibly preopen all indexes on startup
# optional, default is 0 (do not preopen)
preopen_indexes = 0
# whether to unlink .old index copies on succesful rotation.
# optional, default is 1 (do unlink)
unlink_old = 1
}

View File

@ -1,38 +0,0 @@
source act
{
type = mysql
sql_host = ENV_MYSQLHOST
sql_port = 3306
sql_user = ENV_MYSQLUSER
sql_pass = ENV_MYSQLPASS
sql_db = jo
sql_query_pre = SET NAMES utf8
sql_query = SELECT l.id, l.idPar, l.idAct, r.siren, r.actif, r.PpPm, r.RS, r.adresse_cp, r.adresse_ville, \
p.libPays AS pays, l.PDetention FROM liens2 l, liensRef r, tabPays p \
WHERE l.dateSuppr = '0000-00-00 00:00:00' AND r.id = l.idAct \
AND ( r.siren>1000 OR (r.siren=0 AND r.adresse_pays!='FRA') OR (r.siren=0 AND r.PpPm='PP') ) \
AND p.codPays3 = r.adresse_pays;
sql_attr_uint = idAct
sql_attr_bool = actif
sql_attr_float = PDetention
sql_attr_string = pays
}
index act
{
source = act
path = /var/lib/sphinxsearch/idx/act
docinfo = extern
morphology = none
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0->a, U+C1->a, U+C2->a, U+C3->a, U+C4->a, U+C5->a, U+C6->a, U+C7->c, \
U+C8->e, U+C8->e, U+C9->e, U+CA->e, U+CB->e, U+CC->i, U+CD->i, U+CE->i, \
U+CF->i, U+D0->d, U+D1->n, U+D2->o, U+D3->o, U+D4->o, U+D5->o, U+D6->o, \
U+D8->o, U+D9->u, U+DA->u, U+DB->u, U+DC->u, U+DD->y, U+E0->a, U+E1->a, \
U+E2->a, U+E3->a, U+E4->a, U+E5->a, U+E7->c, U+E8->e, U+E9->e, U+EA->e, \
U+EB->e, U+EC->i, U+ED->i, U+EE->i, U+EF->i, U+F1->n, U+F2->o, U+F3->o, \
U+F4->o, U+F5->o, U+F6->o, U+F8->o, U+F9->u, U+FA->u,U+FB->u, U+FC->u, \
U+FD->y, U+FF->y, U+0152->U+0153, U+0153
}

View File

@ -1,157 +0,0 @@
source ciblage
{
type = mysql
sql_host = ENV_MYSQLHOST
sql_port = 3306
sql_user = ENV_MYSQLUSER
sql_pass = ENV_MYSQLPASS
sql_db = jo
sql_query_pre = SET NAMES utf8
sql_query = \
SELECT id, LPAD(siren, 9, '0') AS siren, LPAD(nic, 5, '0') AS nic, \
siege, \
adr_cp, \
REPLACE(REPLACE(adr_dep, '2B', '202'), '2A', '201') AS adr_dep, \
IF(tel>0,1,0) AS tel, \
IF(fax>0,1,0) AS fax, \
cj, \
capital, \
CONCAT('EX ', ape_etab) AS ape_etab, \
CONCAT('EX ', ape_entrep) AS ape_entrep, \
age_entrep, \
age_etab, \
IF(tca IS NULL,99,tca) AS tca, \
tcaexp, \
IF(teff_entrep IS NULL,99,teff_entrep) AS teff_entrep, \
IF(teff_etab IS NULL,99,teff_etab) AS teff_etab, \
IF(web='',0,1) AS web, \
IF(mail='',0,1) AS mail, \
IF(adrDom>0,1,0) AS adrDom, \
actifEco, \
presentRcs, \
procolHisto, \
tvaIntraValide, \
dateCrea_etab,\
dateCrea_ent, \
dateImmat, \
eff_entrep, \
eff_etab, \
IF(dirNom='',0,1) AS dirNom, \
nbEtab, \
IF(nbMPubli>0,1,0) AS nbMPubli, \
IF(CAST(sirenGrp AS UNSIGNED)>100,1,0) AS sirenGrp, \
nbActio, \
IF(nbActio>0,1,0) AS actio, \
nbPart, \
IF(nbPart>0,1,0) AS part, \
CASE bilType WHEN 'I' THEN 1 WHEN 'R' THEN 2 WHEN 'E' THEN 3 ELSE 0 END as bilType, \
bilAnnee, \
bilCloture, \
bilDuree, \
bilTca, \
bilEE, \
bilFL, \
bilFK, \
bilFR, \
bilGF, \
bilGP, \
bilGU, \
bilGW, \
bilHD, \
bilHH, \
bilHL, \
bilHM, \
bilHN, \
bilYP, \
CAST(codeCommune AS UNSIGNED) AS codeCommune, \
CASE zus WHEN '' THEN 0 WHEN 'HORSZONE' THEN 0 WHEN 'NSP' THEN 0 WHEN 'X' THEN 0 ELSE 1 END as zus, \
CASE zfu WHEN '' THEN 0 WHEN 'HORSZONE' THEN 0 WHEN 'NSP' THEN 0 WHEN 'X' THEN 0 ELSE 1 END as zfu, \
CASE zru WHEN '' THEN 0 WHEN 'NSP' THEN 0 ELSE 1 END as zru, \
CASE cucs WHEN '' THEN 0 WHEN 'NSP' THEN 0 ELSE 1 END as cucs, \
IF(zrr=1,1,0) as zrr, \
IF(zafr=1,1,0) as zafr, \
CASE avisCs WHEN 0 THEN 1 WHEN 10 THEN 2 WHEN 15 THEN 3 WHEN 23 THEN 4 WHEN 29 THEN 4 WHEN 39 THEN 4 WHEN 43 THEN 4 WHEN 21 THEN 5 WHEN 26 THEN 5 WHEN 28 THEN 5 WHEN 31 THEN 6 WHEN 50 THEN 6 WHEN 24 THEN 7 ELSE 0 END as avisCs \
FROM etablissements_act WHERE siren>100;
sql_field_string = siren
sql_field_string = nic
sql_attr_bool = siege
sql_attr_uint = adr_cp
sql_attr_uint = adr_dep
sql_attr_bool = tel
sql_attr_bool = fax
sql_attr_uint = cj
sql_attr_uint = capital
sql_attr_uint = age_entrep
sql_attr_uint = age_etab
sql_attr_uint = tca
sql_attr_uint = tcaexp
sql_attr_uint = teff_entrep
sql_attr_uint = teff_etab
sql_attr_bool = web
sql_attr_bool = mail
sql_attr_bool = adrDom
sql_attr_uint = actifEco
sql_attr_uint = presentRcs
sql_attr_uint = procolHisto
sql_attr_uint = tvaIntraValide
sql_attr_uint = dateCrea_etab
sql_attr_uint = dateCrea_ent
sql_attr_uint = dateImmat
sql_attr_uint = eff_entrep
sql_attr_uint = eff_etab
sql_attr_bool = dirNom
sql_attr_uint = nbEtab
sql_attr_uint = nbMPubli
sql_attr_bool = sirenGrp
sql_attr_uint = nbActio
sql_attr_bool = actio
sql_attr_uint = nbPart
sql_attr_bool = part
sql_attr_uint = bilType
sql_attr_uint = bilAnnee
sql_attr_uint = bilCloture
sql_attr_uint = bilDuree
sql_attr_uint = bilTca
sql_attr_uint = bilEE
sql_attr_uint = bilFL
sql_attr_uint = bilFK
sql_attr_uint = bilFR
sql_attr_uint = bilGF
sql_attr_uint = bilGP
sql_attr_uint = bilGU
sql_attr_uint = bilGW
sql_attr_uint = bilHD
sql_attr_uint = bilHH
sql_attr_uint = bilHL
sql_attr_uint = bilHM
sql_attr_uint = bilHN
sql_attr_uint = bilYP
sql_attr_uint = codeCommune
sql_attr_bool = zus
sql_attr_bool = zru
sql_attr_bool = zfu
sql_attr_bool = cucs
sql_attr_bool = zrr
sql_attr_bool = zafr
sql_attr_uint = avisCs
}
index ciblage
{
source = ciblage
path = /var/lib/sphinxsearch/idx/ciblage
docinfo = extern
morphology = none
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0->a, U+C1->a, U+C2->a, U+C3->a, U+C4->a, U+C5->a, U+C6->a, U+C7->c, \
U+C8->e, U+C8->e, U+C9->e, U+CA->e, U+CB->e, U+CC->i, U+CD->i, U+CE->i, \
U+CF->i, U+D0->d, U+D1->n, U+D2->o, U+D3->o, U+D4->o, U+D5->o, U+D6->o, \
U+D8->o, U+D9->u, U+DA->u, U+DB->u, U+DC->u, U+DD->y, U+E0->a, U+E1->a, \
U+E2->a, U+E3->a, U+E4->a, U+E5->a, U+E7->c, U+E8->e, U+E9->e, U+EA->e, \
U+EB->e, U+EC->i, U+ED->i, U+EE->i, U+EF->i, U+F1->n, U+F2->o, U+F3->o, \
U+F4->o, U+F5->o, U+F6->o, U+F8->o, U+F9->u, U+FA->u,U+FB->u, U+FC->u, \
U+FD->y, U+FF->y, U+0152->U+0153, U+0153
}

View File

@ -1,157 +0,0 @@
source ciblage
{
type = mysql
sql_host = ENV_MYSQLHOST
sql_port = 3306
sql_user = ENV_MYSQLUSER
sql_pass = ENV_MYSQLPASS
sql_db = jo
sql_query_pre = SET NAMES utf8
sql_query = \
SELECT id, LPAD(siren, 9, '0') AS siren, LPAD(nic, 5, '0') AS nic, \
siege, \
adr_cp, \
REPLACE(REPLACE(adr_dep, '2B', '202'), '2A', '201') AS adr_dep, \
IF(tel>0,1,0) AS tel, \
IF(fax>0,1,0) AS fax, \
cj, \
capital, \
CONCAT('EX ', ape_etab) AS ape_etab, \
CONCAT('EX ', ape_entrep) AS ape_entrep, \
age_entrep, \
age_etab, \
IF(tca IS NULL,99,tca) AS tca, \
tcaexp, \
IF(teff_entrep IS NULL,99,teff_entrep) AS teff_entrep, \
IF(teff_etab IS NULL,99,teff_etab) AS teff_etab, \
IF(web='',0,1) AS web, \
IF(mail='',0,1) AS mail, \
IF(adrDom>0,1,0) AS adrDom, \
actifEco, \
presentRcs, \
procolHisto, \
tvaIntraValide, \
dateCrea_etab,\
dateCrea_ent, \
dateImmat, \
eff_entrep, \
eff_etab, \
IF(dirNom='',0,1) AS dirNom, \
nbEtab, \
IF(nbMPubli>0,1,0) AS nbMPubli, \
IF(CAST(sirenGrp AS UNSIGNED)>100,1,0) AS sirenGrp, \
nbActio, \
IF(nbActio>0,1,0) AS actio, \
nbPart, \
IF(nbPart>0,1,0) AS part, \
CASE bilType WHEN 'I' THEN 1 WHEN 'R' THEN 2 WHEN 'E' THEN 3 ELSE 0 END as bilType, \
bilAnnee, \
bilCloture, \
bilDuree, \
bilTca, \
bilEE, \
bilFL, \
bilFK, \
bilFR, \
bilGF, \
bilGP, \
bilGU, \
bilGW, \
bilHD, \
bilHH, \
bilHL, \
bilHM, \
bilHN, \
bilYP, \
CAST(codeCommune AS UNSIGNED) AS codeCommune, \
CASE zus WHEN '' THEN 0 WHEN 'HORSZONE' THEN 0 WHEN 'NSP' THEN 0 WHEN 'X' THEN 0 ELSE 1 END as zus, \
CASE zfu WHEN '' THEN 0 WHEN 'HORSZONE' THEN 0 WHEN 'NSP' THEN 0 WHEN 'X' THEN 0 ELSE 1 END as zfu, \
CASE zru WHEN '' THEN 0 WHEN 'NSP' THEN 0 ELSE 1 END as zru, \
CASE cucs WHEN '' THEN 0 WHEN 'NSP' THEN 0 ELSE 1 END as cucs, \
IF(zrr=1,1,0) as zrr, \
IF(zafr=1,1,0) as zafr, \
CASE avisCs WHEN 0 THEN 1 WHEN 10 THEN 2 WHEN 15 THEN 3 WHEN 23 THEN 4 WHEN 29 THEN 4 WHEN 39 THEN 4 WHEN 43 THEN 4 WHEN 21 THEN 5 WHEN 26 THEN 5 WHEN 28 THEN 5 WHEN 31 THEN 6 WHEN 50 THEN 6 WHEN 24 THEN 7 ELSE 0 END as avisCs \
FROM etablissements_act_tmp WHERE siren>100;
sql_field_string = siren
sql_field_string = nic
sql_attr_bool = siege
sql_attr_uint = adr_cp
sql_attr_uint = adr_dep
sql_attr_bool = tel
sql_attr_bool = fax
sql_attr_uint = cj
sql_attr_uint = capital
sql_attr_uint = age_entrep
sql_attr_uint = age_etab
sql_attr_uint = tca
sql_attr_uint = tcaexp
sql_attr_uint = teff_entrep
sql_attr_uint = teff_etab
sql_attr_bool = web
sql_attr_bool = mail
sql_attr_bool = adrDom
sql_attr_uint = actifEco
sql_attr_uint = presentRcs
sql_attr_uint = procolHisto
sql_attr_uint = tvaIntraValide
sql_attr_uint = dateCrea_etab
sql_attr_uint = dateCrea_ent
sql_attr_uint = dateImmat
sql_attr_uint = eff_entrep
sql_attr_uint = eff_etab
sql_attr_bool = dirNom
sql_attr_uint = nbEtab
sql_attr_uint = nbMPubli
sql_attr_bool = sirenGrp
sql_attr_uint = nbActio
sql_attr_bool = actio
sql_attr_uint = nbPart
sql_attr_bool = part
sql_attr_uint = bilType
sql_attr_uint = bilAnnee
sql_attr_uint = bilCloture
sql_attr_uint = bilDuree
sql_attr_uint = bilTca
sql_attr_uint = bilEE
sql_attr_uint = bilFL
sql_attr_uint = bilFK
sql_attr_uint = bilFR
sql_attr_uint = bilGF
sql_attr_uint = bilGP
sql_attr_uint = bilGU
sql_attr_uint = bilGW
sql_attr_uint = bilHD
sql_attr_uint = bilHH
sql_attr_uint = bilHL
sql_attr_uint = bilHM
sql_attr_uint = bilHN
sql_attr_uint = bilYP
sql_attr_uint = codeCommune
sql_attr_bool = zus
sql_attr_bool = zru
sql_attr_bool = zfu
sql_attr_bool = cucs
sql_attr_bool = zrr
sql_attr_bool = zafr
sql_attr_uint = avisCs
}
index ciblage
{
source = ciblage
path = /var/lib/sphinxsearch/idx/ciblage
docinfo = extern
morphology = none
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0->a, U+C1->a, U+C2->a, U+C3->a, U+C4->a, U+C5->a, U+C6->a, U+C7->c, \
U+C8->e, U+C8->e, U+C9->e, U+CA->e, U+CB->e, U+CC->i, U+CD->i, U+CE->i, \
U+CF->i, U+D0->d, U+D1->n, U+D2->o, U+D3->o, U+D4->o, U+D5->o, U+D6->o, \
U+D8->o, U+D9->u, U+DA->u, U+DB->u, U+DC->u, U+DD->y, U+E0->a, U+E1->a, \
U+E2->a, U+E3->a, U+E4->a, U+E5->a, U+E7->c, U+E8->e, U+E9->e, U+EA->e, \
U+EB->e, U+EC->i, U+ED->i, U+EE->i, U+EF->i, U+F1->n, U+F2->o, U+F3->o, \
U+F4->o, U+F5->o, U+F6->o, U+F8->o, U+F9->u, U+FA->u,U+FB->u, U+FC->u, \
U+FD->y, U+FF->y, U+0152->U+0153, U+0153
}

View File

@ -1,58 +0,0 @@
source dir
{
type = mysql
sql_host = ENV_MYSQLHOST
sql_port = 3306
sql_user = ENV_MYSQLUSER
sql_pass = ENV_MYSQLPASS
sql_db = jo
sql_query_pre = SET NAMES utf8
sql_query = \
SELECT id, siren, adr_dep, typeDir, dirSiren, civilite, CONCAT(nom,' ',naissance_nom, ' ', dirRS) AS nom, \
prenom, YEAR(naissance_date) AS naiss_annee, MONTH(naissance_date) AS naiss_mois, \
DAY(naissance_date) AS naiss_jour, naissance_lieu, fonction_code, actif \
FROM dirigeants;
sql_attr_uint = dirSiren
sql_attr_uint = naiss_annee
sql_attr_uint = naiss_mois
sql_attr_uint = naiss_jour
sql_attr_uint = actif
sql_attr_uint = adr_dep
}
index dir
{
source = dir
path = /var/lib/sphinxsearch/idx/dir
docinfo = extern
morphology = none
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0->a, U+C1->a, U+C2->a, U+C3->a, U+C4->a, U+C5->a, U+C6->a, U+C7->c, \
U+C8->e, U+C8->e, U+C9->e, U+CA->e, U+CB->e, U+CC->i, U+CD->i, U+CE->i, \
U+CF->i, U+D0->d, U+D1->n, U+D2->o, U+D3->o, U+D4->o, U+D5->o, U+D6->o, \
U+D8->o, U+D9->u, U+DA->u, U+DB->u, U+DC->u, U+DD->y, U+E0->a, U+E1->a, \
U+E2->a, U+E3->a, U+E4->a, U+E5->a, U+E7->c, U+E8->e, U+E9->e, U+EA->e, \
U+EB->e, U+EC->i, U+ED->i, U+EE->i, U+EF->i, U+F1->n, U+F2->o, U+F3->o, \
U+F4->o, U+F5->o, U+F6->o, U+F8->o, U+F9->u, U+FA->u,U+FB->u, U+FC->u, \
U+FD->y, U+FF->y, U+0152->U+0153, U+0153
}
index dir_phx
{
source = dir
path = /var/lib/sphinxsearch/idx/dir_phx
docinfo = extern
min_stemming_len = 4
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0->a, U+C1->a, U+C2->a, U+C3->a, U+C4->a, U+C5->a, U+C6->a, U+C7->c, \
U+C8->e, U+C8->e, U+C9->e, U+CA->e, U+CB->e, U+CC->i, U+CD->i, U+CE->i, \
U+CF->i, U+D0->d, U+D1->n, U+D2->o, U+D3->o, U+D4->o, U+D5->o, U+D6->o, \
U+D8->o, U+D9->u, U+DA->u, U+DB->u, U+DC->u, U+DD->y, U+E0->a, U+E1->a, \
U+E2->a, U+E3->a, U+E4->a, U+E5->a, U+E7->c, U+E8->e, U+E9->e, U+EA->e, \
U+EB->e, U+EC->i, U+ED->i, U+EE->i, U+EF->i, U+F1->n, U+F2->o, U+F3->o, \
U+F4->o, U+F5->o, U+F6->o, U+F8->o, U+F9->u, U+FA->u,U+FB->u, U+FC->u, \
U+FD->y, U+FF->y, U+0152->U+0153, U+0153
}

View File

@ -1,58 +0,0 @@
source dir
{
type = mysql
sql_host = ENV_MYSQLHOST
sql_port = 3306
sql_user = ENV_MYSQLUSER
sql_pass = ENV_MYSQLPASS
sql_db = jo
sql_query_pre = SET NAMES utf8
sql_query = \
SELECT id, siren, adr_dep, typeDir, dirSiren, civilite, CONCAT(nom,' ',naissance_nom, ' ', dirRS) AS nom, \
prenom, YEAR(naissance_date) AS naiss_annee, MONTH(naissance_date) AS naiss_mois, \
DAY(naissance_date) AS naiss_jour, naissance_lieu, fonction_code, actif \
FROM dirigeants_tmp;
sql_attr_uint = dirSiren
sql_attr_uint = naiss_annee
sql_attr_uint = naiss_mois
sql_attr_uint = naiss_jour
sql_attr_uint = actif
sql_attr_uint = adr_dep
}
index dir
{
source = dir
path = /var/lib/sphinxsearch/idx/dir
docinfo = extern
morphology = none
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0->a, U+C1->a, U+C2->a, U+C3->a, U+C4->a, U+C5->a, U+C6->a, U+C7->c, \
U+C8->e, U+C8->e, U+C9->e, U+CA->e, U+CB->e, U+CC->i, U+CD->i, U+CE->i, \
U+CF->i, U+D0->d, U+D1->n, U+D2->o, U+D3->o, U+D4->o, U+D5->o, U+D6->o, \
U+D8->o, U+D9->u, U+DA->u, U+DB->u, U+DC->u, U+DD->y, U+E0->a, U+E1->a, \
U+E2->a, U+E3->a, U+E4->a, U+E5->a, U+E7->c, U+E8->e, U+E9->e, U+EA->e, \
U+EB->e, U+EC->i, U+ED->i, U+EE->i, U+EF->i, U+F1->n, U+F2->o, U+F3->o, \
U+F4->o, U+F5->o, U+F6->o, U+F8->o, U+F9->u, U+FA->u,U+FB->u, U+FC->u, \
U+FD->y, U+FF->y, U+0152->U+0153, U+0153
}
index dir_phx
{
source = dir
path = /var/lib/sphinxsearch/idx/dir_phx
docinfo = extern
min_stemming_len = 4
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0->a, U+C1->a, U+C2->a, U+C3->a, U+C4->a, U+C5->a, U+C6->a, U+C7->c, \
U+C8->e, U+C8->e, U+C9->e, U+CA->e, U+CB->e, U+CC->i, U+CD->i, U+CE->i, \
U+CF->i, U+D0->d, U+D1->n, U+D2->o, U+D3->o, U+D4->o, U+D5->o, U+D6->o, \
U+D8->o, U+D9->u, U+DA->u, U+DB->u, U+DC->u, U+DD->y, U+E0->a, U+E1->a, \
U+E2->a, U+E3->a, U+E4->a, U+E5->a, U+E7->c, U+E8->e, U+E9->e, U+EA->e, \
U+EB->e, U+EC->i, U+ED->i, U+EE->i, U+EF->i, U+F1->n, U+F2->o, U+F3->o, \
U+F4->o, U+F5->o, U+F6->o, U+F8->o, U+F9->u, U+FA->u,U+FB->u, U+FC->u, \
U+FD->y, U+FF->y, U+0152->U+0153, U+0153
}

View File

@ -1,71 +0,0 @@
source ent
{
type = mysql
sql_host = ENV_MYSQLHOST
sql_port = 3306
sql_user = ENV_MYSQLUSER
sql_pass = ENV_MYSQLPASS
sql_db = jo
sql_query_pre = SET NAMES utf8
sql_query = SELECT id, siren, nic, siege, \
CONCAT_WS(" ", raisonSociale, enseigne, sigle, identite_pre) AS nom, \
REPLACE(REPLACE(adr_dep, '2B', '202'), '2A', '201') AS adr_dep, \
actif, adr_num, CONCAT_WS(" ", adr_typeVoie, adr_libVoie ,adr_comp) AS adresse, adr_cp, \
adr_ville AS ville, cj, ape_etab, IF(siren>200,1,0) AS sirenValide, rang \
FROM etablissements;
sql_attr_uint = siren
sql_attr_uint = nic
sql_attr_uint = siege
sql_attr_bool = actif
sql_attr_uint = adr_num
sql_attr_uint = adr_cp
sql_attr_uint = adr_dep
sql_attr_uint = cj
sql_attr_bool = sirenValide
sql_attr_uint = rang
}
index ent
{
source = ent
path = /var/lib/sphinxsearch/idx/ent
mlock = 1
docinfo = extern
stopwords = /etc/sphinxsearch/stopwords-ent.txt
wordforms = /etc/sphinxsearch/wordforms-ent.txt
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0->a, U+C1->a, U+C2->a, U+C3->a, U+C4->a, U+C5->a, U+C6->a, U+C7->c, \
U+C8->e, U+C8->e, U+C9->e, U+CA->e, U+CB->e, U+CC->i, U+CD->i, U+CE->i, \
U+CF->i, U+D0->d, U+D1->n, U+D2->o, U+D3->o, U+D4->o, U+D5->o, U+D6->o, \
U+D8->o, U+D9->u, U+DA->u, U+DB->u, U+DC->u, U+DD->y, U+E0->a, U+E1->a, \
U+E2->a, U+E3->a, U+E4->a, U+E5->a, U+E7->c, U+E8->e, U+E9->e, U+EA->e, \
U+EB->e, U+EC->i, U+ED->i, U+EE->i, U+EF->i, U+F1->n, U+F2->o, U+F3->o, \
U+F4->o, U+F5->o, U+F6->o, U+F8->o, U+F9->u, U+FA->u,U+FB->u, U+FC->u, \
U+FD->y, U+FF->y, U+0152->U+0153, U+0153
}
index ent_phx
{
source = ent
path = /var/lib/sphinxsearch/idx/ent_phx
mlock = 1
docinfo = extern
stopwords = /etc/sphinxsearch/stopwords-ent.txt
stopwords_unstemmed = 1
wordforms = /etc/sphinxsearch/wordforms-ent.txt
morphology = libstemmer_fr
min_stemming_len = 4
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0->a, U+C1->a, U+C2->a, U+C3->a, U+C4->a, U+C5->a, U+C6->a, U+C7->c, \
U+C8->e, U+C8->e, U+C9->e, U+CA->e, U+CB->e, U+CC->i, U+CD->i, U+CE->i, \
U+CF->i, U+D0->d, U+D1->n, U+D2->o, U+D3->o, U+D4->o, U+D5->o, U+D6->o, \
U+D8->o, U+D9->u, U+DA->u, U+DB->u, U+DC->u, U+DD->y, U+E0->a, U+E1->a, \
U+E2->a, U+E3->a, U+E4->a, U+E5->a, U+E7->c, U+E8->e, U+E9->e, U+EA->e, \
U+EB->e, U+EC->i, U+ED->i, U+EE->i, U+EF->i, U+F1->n, U+F2->o, U+F3->o, \
U+F4->o, U+F5->o, U+F6->o, U+F8->o, U+F9->u, U+FA->u,U+FB->u, U+FC->u, \
U+FD->y, U+FF->y, U+0152->U+0153, U+0153
}

View File

@ -1,72 +0,0 @@
source ent
{
type = mysql
sql_host = ENV_MYSQLHOST
sql_port = 3306
sql_user = ENV_MYSQLUSER
sql_pass = ENV_MYSQLPASS
sql_db = jo
sql_query_pre = SET NAMES utf8
sql_query = SELECT id, siren, nic, siege, \
CONCAT_WS(" ", raisonSociale, enseigne, sigle, identite_pre) AS nom, \
REPLACE(REPLACE(adr_dep, '2B', '202'), '2A', '201') AS adr_dep, \
actif, adr_num, CONCAT_WS(" ", adr_typeVoie, adr_libVoie ,adr_comp) AS adresse, adr_cp, \
adr_ville AS ville, cj, ape_etab, IF(siren>200,1,0) AS sirenValide, rang \
FROM etablissements_tmp;
sql_attr_uint = siren
sql_attr_uint = nic
sql_attr_uint = siege
sql_attr_bool = actif
sql_attr_uint = adr_num
sql_attr_uint = adr_cp
sql_attr_uint = adr_dep
sql_attr_uint = cj:4
sql_attr_bool = sirenValide
sql_attr_uint = rang
}
index ent
{
source = ent
path = /var/lib/sphinxsearch/idx/ent
mlock = 1
docinfo = extern
stopwords = /etc/sphinxsearch/stopwords-ent.txt
wordforms = /etc/sphinxsearch/wordforms-ent.txt
charset_type = utf-8
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0->a, U+C1->a, U+C2->a, U+C3->a, U+C4->a, U+C5->a, U+C6->a, U+C7->c, \
U+C8->e, U+C8->e, U+C9->e, U+CA->e, U+CB->e, U+CC->i, U+CD->i, U+CE->i, \
U+CF->i, U+D0->d, U+D1->n, U+D2->o, U+D3->o, U+D4->o, U+D5->o, U+D6->o, \
U+D8->o, U+D9->u, U+DA->u, U+DB->u, U+DC->u, U+DD->y, U+E0->a, U+E1->a, \
U+E2->a, U+E3->a, U+E4->a, U+E5->a, U+E7->c, U+E8->e, U+E9->e, U+EA->e, \
U+EB->e, U+EC->i, U+ED->i, U+EE->i, U+EF->i, U+F1->n, U+F2->o, U+F3->o, \
U+F4->o, U+F5->o, U+F6->o, U+F8->o, U+F9->u, U+FA->u,U+FB->u, U+FC->u, \
U+FD->y, U+FF->y, U+0152->U+0153, U+0153
}
index ent_phx
{
source = ent
path = /var/lib/sphinxsearch/idx/ent_phx
mlock = 1
docinfo = extern
stopwords = /etc/sphinxsearch/stopwords-ent.txt
stopwords_unstemmed = 1
wordforms = /etc/sphinxsearch/wordforms-ent.txt
morphology = libstemmer_fr
min_stemming_len = 4
charset_type = utf-8
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0->a, U+C1->a, U+C2->a, U+C3->a, U+C4->a, U+C5->a, U+C6->a, U+C7->c, \
U+C8->e, U+C8->e, U+C9->e, U+CA->e, U+CB->e, U+CC->i, U+CD->i, U+CE->i, \
U+CF->i, U+D0->d, U+D1->n, U+D2->o, U+D3->o, U+D4->o, U+D5->o, U+D6->o, \
U+D8->o, U+D9->u, U+DA->u, U+DB->u, U+DC->u, U+DD->y, U+E0->a, U+E1->a, \
U+E2->a, U+E3->a, U+E4->a, U+E5->a, U+E7->c, U+E8->e, U+E9->e, U+EA->e, \
U+EB->e, U+EC->i, U+ED->i, U+EE->i, U+EF->i, U+F1->n, U+F2->o, U+F3->o, \
U+F4->o, U+F5->o, U+F6->o, U+F8->o, U+F9->u, U+FA->u,U+FB->u, U+FC->u, \
U+FD->y, U+FF->y, U+0152->U+0153, U+0153
}

View File

@ -1,31 +0,0 @@
source histo
{
type = mysql
sql_host = ENV_MYSQLHOST
sql_port = 3306
sql_user = ENV_MYSQLUSER
sql_pass = ENV_MYSQLPASS
sql_db = histobodacc
sql_query_pre = SET NAMES utf8
sql_query = SELECT id, nomFichier, annee1, dateBod, texte FROM bodacc_ocr;
sql_attr_uint = annee1
}
index histo
{
source = histo
path = /var/lib/sphinxsearch/idx/histo
min_word_len = 3
html_strip = 1
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0->a, U+C1->a, U+C2->a, U+C3->a, U+C4->a, U+C5->a, U+C6->a, U+C7->c, \
U+C8->e, U+C8->e, U+C9->e, U+CA->e, U+CB->e, U+CC->i, U+CD->i, U+CE->i, \
U+CF->i, U+D0->d, U+D1->n, U+D2->o, U+D3->o, U+D4->o, U+D5->o, U+D6->o, \
U+D8->o, U+D9->u, U+DA->u, U+DB->u, U+DC->u, U+DD->y, U+E0->a, U+E1->a, \
U+E2->a, U+E3->a, U+E4->a, U+E5->a, U+E7->c, U+E8->e, U+E9->e, U+EA->e, \
U+EB->e, U+EC->i, U+ED->i, U+EE->i, U+EF->i, U+F1->n, U+F2->o, U+F3->o, \
U+F4->o, U+F5->o, U+F6->o, U+F8->o, U+F9->u, U+FA->u,U+FB->u, U+FC->u, \
U+FD->y, U+FF->y, U+0152->U+0153, U+0153
}

View File

@ -1,375 +0,0 @@
#############################################################################
## indexer settings
#############################################################################
indexer
{
# memory limit, in bytes, kiloytes (16384K) or megabytes (256M)
# optional, default is 128M, max is 2047M, recommended is 256M to 1024M
mem_limit = 256M
# maximum IO calls per second (for I/O throttling)
# optional, default is 0 (unlimited)
#
# max_iops = 40
# maximum IO call size, bytes (for I/O throttling)
# optional, default is 0 (unlimited)
#
# max_iosize = 1048576
# maximum xmlpipe2 field length, bytes
# optional, default is 2M
#
# max_xmlpipe2_field = 4M
# write buffer size, bytes
# several (currently up to 4) buffers will be allocated
# write buffers are allocated in addition to mem_limit
# optional, default is 1M
#
# write_buffer = 1M
# maximum file field adaptive buffer size
# optional, default is 8M, minimum is 1M
#
# max_file_field_buffer = 32M
# how to handle IO errors in file fields
# known values are 'ignore_field', 'skip_document', and 'fail_index'
# optional, default is 'ignore_field'
#
# on_file_field_error = skip_document
# lemmatizer cache size
# improves the indexing time when the lemmatization is enabled
# optional, default is 256K
#
# lemmatizer_cache = 512M
}
#############################################################################
## searchd settings
#############################################################################
searchd
{
# [hostname:]port[:protocol], or /unix/socket/path to listen on
# known protocols are 'sphinx' (SphinxAPI) and 'mysql41' (SphinxQL)
#
# multi-value, multiple listen points are allowed
# optional, defaults are 9312:sphinx and 9306:mysql41, as below
#
# listen = 127.0.0.1
# listen = 192.168.0.1:9312
# listen = 9312
# listen = /var/run/searchd.sock
listen = 9312
listen = 9306:mysql41
# log file, searchd run info is logged here
# optional, default is 'searchd.log'
log = /var/lib/sphinxsearch/log/searchd.log
# query log file, all search queries are logged here
# optional, default is empty (do not log queries)
query_log = /var/lib/sphinxsearch/log/query.log
# client read timeout, seconds
# optional, default is 5
read_timeout = 5
# request timeout, seconds
# optional, default is 5 minutes
client_timeout = 300
# maximum amount of children to fork (concurrent searches to run)
# optional, default is 0 (unlimited)
max_children = 30
# maximum amount of persistent connections from this master to each agent host
# optional, but necessary if you use agent_persistent. It is reasonable to set the value
# as max_children, or less on the agent's hosts.
persistent_connections_limit = 30
# PID file, searchd process ID file name
# mandatory
pid_file = /var/run/sphinxsearch/searchd.pid
# seamless rotate, prevents rotate stalls if precaching huge datasets
# optional, default is 1
seamless_rotate = 1
# whether to forcibly preopen all indexes on startup
# optional, default is 1 (preopen everything)
preopen_indexes = 1
# whether to unlink .old index copies on succesful rotation.
# optional, default is 1 (do unlink)
unlink_old = 1
# attribute updates periodic flush timeout, seconds
# updates will be automatically dumped to disk this frequently
# optional, default is 0 (disable periodic flush)
#
# attr_flush_period = 900
# MVA updates pool size
# shared between all instances of searchd, disables attr flushes!
# optional, default size is 1M
mva_updates_pool = 1M
# max allowed network packet size
# limits both query packets from clients, and responses from agents
# optional, default size is 8M
max_packet_size = 8M
# max allowed per-query filter count
# optional, default is 256
max_filters = 256
# max allowed per-filter values count
# optional, default is 4096
max_filter_values = 4096
# socket listen queue length
# optional, default is 5
#
# listen_backlog = 5
# per-keyword read buffer size
# optional, default is 256K
#
# read_buffer = 256K
# unhinted read size (currently used when reading hits)
# optional, default is 32K
#
# read_unhinted = 32K
# max allowed per-batch query count (aka multi-query count)
# optional, default is 32
max_batch_queries = 32
# max common subtree document cache size, per-query
# optional, default is 0 (disable subtree optimization)
#
# subtree_docs_cache = 4M
# max common subtree hit cache size, per-query
# optional, default is 0 (disable subtree optimization)
#
# subtree_hits_cache = 8M
# multi-processing mode (MPM)
# known values are none, fork, prefork, and threads
# threads is required for RT backend to work
# optional, default is threads
workers = threads # for RT to work
# max threads to create for searching local parts of a distributed index
# optional, default is 0, which means disable multi-threaded searching
# should work with all MPMs (ie. does NOT require workers=threads)
#
dist_threads = 4
# binlog files path; use empty string to disable binlog
# optional, default is build-time configured data directory
#
# binlog_path = # disable logging
# binlog_path = /var/lib/sphinxsearch/data # binlog.001 etc will be created there
# binlog flush/sync mode
# 0 means flush and sync every second
# 1 means flush and sync every transaction
# 2 means flush every transaction, sync every second
# optional, default is 2
#
# binlog_flush = 2
# binlog per-file size limit
# optional, default is 128M, 0 means no limit
#
# binlog_max_log_size = 256M
# per-thread stack size, only affects workers=threads mode
# optional, default is 64K
#
# thread_stack = 128K
# per-keyword expansion limit (for dict=keywords prefix searches)
# optional, default is 0 (no limit)
#
# expansion_limit = 1000
# RT RAM chunks flush period
# optional, default is 0 (no periodic flush)
#
# rt_flush_period = 900
# query log file format
# optional, known values are plain and sphinxql, default is plain
#
# query_log_format = sphinxql
# version string returned to MySQL network protocol clients
# optional, default is empty (use Sphinx version)
#
# mysql_version_string = 5.0.37
# default server-wide collation
# optional, default is libc_ci
#
# collation_server = utf8_general_ci
# server-wide locale for libc based collations
# optional, default is C
#
# collation_libc_locale = ru_RU.UTF-8
# threaded server watchdog (only used in workers=threads mode)
# optional, values are 0 and 1, default is 1 (watchdog on)
#
# watchdog = 1
# costs for max_predicted_time model, in (imaginary) nanoseconds
# optional, default is "doc=64, hit=48, skip=2048, match=64"
#
# predicted_time_costs = doc=64, hit=48, skip=2048, match=64
# current SphinxQL state (uservars etc) serialization path
# optional, default is none (do not serialize SphinxQL state)
#
# sphinxql_state = sphinxvars.sql
# maximum RT merge thread IO calls per second, and per-call IO size
# useful for throttling (the background) OPTIMIZE INDEX impact
# optional, default is 0 (unlimited)
#
# rt_merge_iops = 40
# rt_merge_maxiosize = 1M
# interval between agent mirror pings, in milliseconds
# 0 means disable pings
# optional, default is 1000
#
# ha_ping_interval = 0
# agent mirror statistics window size, in seconds
# stats older than the window size (karma) are retired
# that is, they will not affect master choice of agents in any way
# optional, default is 60 seconds
#
# ha_period_karma = 60
# delay between preforked children restarts on rotation, in milliseconds
# optional, default is 0 (no delay)
#
# prefork_rotation_throttle = 100
# a prefix to prepend to the local file names when creating snippets
# with load_files and/or load_files_scatter options
# optional, default is empty
#
# snippets_file_prefix = /mnt/common/server1/
}
#############################################################################
## common settings
#############################################################################
common
{
# lemmatizer dictionaries base path
# optional, defaut is /usr/local/share (see ./configure --datadir)
#
# lemmatizer_base = /usr/local/share/sphinx/dicts
# how to handle syntax errors in JSON attributes
# known values are 'ignore_attr' and 'fail_index'
# optional, default is 'ignore_attr'
#
# on_json_attr_error = fail_index
# whether to auto-convert numeric values from strings in JSON attributes
# with auto-conversion, string value with actually numeric data
# (as in {"key":"12345"}) gets stored as a number, rather than string
# optional, allowed values are 0 and 1, default is 0 (do not convert)
#
# json_autoconv_numbers = 1
# whether and how to auto-convert key names in JSON attributes
# known value is 'lowercase'
# optional, default is unspecified (do nothing)
#
# json_autoconv_keynames = lowercase
# path to RLP root directory
# optional, defaut is /usr/local/share (see ./configure --datadir)
#
# rlp_root = /usr/local/share/sphinx/rlp
# path to RLP environment file
# optional, defaut is /usr/local/share/rlp-environment.xml (see ./configure --datadir)
#
# rlp_environment = /usr/local/share/sphinx/rlp/rlp/etc/rlp-environment.xml
# maximum total size of documents batched before processing them by the RLP
# optional, default is 51200
#
# rlp_max_batch_size = 100k
# maximum number of documents batched before processing them by the RLP
# optional, default is 50
#
# rlp_max_batch_docs = 100
# trusted plugin directory
# optional, default is empty (disable UDFs)
#
# plugin_dir = /usr/local/sphinx/lib
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,77 @@
#############################################################################
## indexer settings
#############################################################################
indexer
{
# memory limit, in bytes, kiloytes (16384K) or megabytes (256M)
# optional, default is 32M, max is 2047M, recommended is 256M to 1024M
mem_limit = 1024M
# maximum IO calls per second (for I/O throttling)
# optional, default is 0 (unlimited)
#
max_iops = 40
# maximum IO call size, bytes (for I/O throttling)
# optional, default is 0 (unlimited)
#
# max_iosize = 1048576
}
#############################################################################
## searchd settings
#############################################################################
searchd
{
# IP address to bind on
# optional, default is 0.0.0.0 (ie. listen on all interfaces)
#
# address = 127.0.0.1
# address = 192.168.0.1
# searchd TCP port number
# mandatory, default is 3312
listen = 9312
# log file, searchd run info is logged here
# optional, default is 'searchd.log'
log = /dbs/sphinxlog/searchd.log
# query log file, all search queries are logged here
# optional, default is empty (do not log queries)
query_log = /dbs/sphinxlog/query.log
# client read timeout, seconds
# optional, default is 5
read_timeout = 5
# maximum amount of children to fork (concurrent searches to run)
# optional, default is 0 (unlimited)
max_children = 30
# PID file, searchd process ID file name
# mandatory
pid_file = /var/log/searchd.pid
# max amount of matches the daemon ever keeps in RAM, per-index
# WARNING, THERE'S ALSO PER-QUERY LIMIT, SEE SetLimits() API CALL
# default is 1000 (just like Google)
max_matches = 1000
# seamless rotate, prevents rotate stalls if precaching huge datasets
# optional, default is 1
seamless_rotate = 1
# whether to forcibly preopen all indexes on startup
# optional, default is 0 (do not preopen)
preopen_indexes = 0
# whether to unlink .old index copies on succesful rotation.
# optional, default is 1 (do unlink)
unlink_old = 1
}

View File

@ -0,0 +1,37 @@
source dir
{
type = mysql
sql_host = 192.168.3.30
sql_user = sphinx
sql_pass = indexer
sql_db = jo
sql_query_pre =
sql_query = \
SELECT id, siren, adr_dep, typeDir, dirSiren, civilite, CONCAT(nom,' ',naissance_nom, ' ', dirRS) AS nom, prenom, \
YEAR(naissance_date) AS naiss_annee, \
MONTH(naissance_date) AS naiss_mois, \
DAY(naissance_date) AS naiss_jour, \
naissance_lieu, fonction_code, actif \
FROM dirigeants;
sql_attr_str2ordinal = civilite
sql_attr_str2ordinal = typeDir
sql_attr_str2ordinal = fonction_code
sql_attr_uint = dirSiren
sql_attr_uint = naiss_annee
sql_attr_uint = naiss_mois
sql_attr_uint = naiss_jour
sql_attr_uint = actif
sql_attr_uint = adr_dep
}
index dir
{
source = source_dir
path = /dbs/sphinx/dir
docinfo = extern
morphology = none
charset_type = sbcs
charset_table = 0..9, A..Z->a..z, a..z, \
U+23, U+25, U+26, U+2B, U+3D, U+40, \
U+C0..U+DE->U+E0..U+FE, U+DF, U+E0..U+FF
}

View File

@ -1,18 +0,0 @@
sci
sarl
societe
france
association
civile
immobiliere
services
chez
gaulle
mer
republique
ecole
seine
rene
bat
madame
monsieur

View File

@ -1,206 +0,0 @@
& > et
un > 1
deux > 2
trois > 3
quatre > 4
cinq > 5
six > 6
sept > 7
huit > 8
neuf > 9
dix > 10
onze > 11
douze > 12
treize > 13
quatorze > 14
quinze > 15
seize > 16
vingt > 20
vingts > 20
trente > 30
quarante > 40
cinquante > 50
soixante > 60
quatrevingt > 80
cent > 100
cents > 100
mille > 1000
zac > zone
zad > zone
za > zone
zi > zone
zup > zone
general > gal
abbaye > abe
agglomeration > agl
aglo > agl
allee > all
ancien > ach
ancienne > art
anse > anse
arcade > arc
autoroute > aut
avenue > av
barriere > bre
bas > bch
bastide > bstd
baston > bast
beguinage > begi
berge > ber
boite postal > bp
boucle > bcle
boulevard > bd
bourg > brg
butte > but
campagne > cgne
camping > cpg
carre > carr
carreau > cau
carrefour > car
carriere > care
castel > cst
cavee > cav
central > ctre
centre > ctre
chalet > chl
chapelle > chp
charmille > chi
chateau > cht
chaussee > chs
che > chemin
chv > chemin
cheminement > chem
cloitre > cloi
colline > coli
contour > ctr
corniche > cor
cottage > cott
cours > crs
darse > dars
degre > deg
dsg > descente
dsc > descente
digue > dig
domaine > dom
docteur > dr
ecart > eca
ecluse > ecl
eglise > egl
enceinte > en
enclave > env
enclos > enc
escalier > esc
espace > espa
esplanade > esp
etang > eting
faubourg > fg
ferme > frm
fontaine > fon
fort > fort
forum > form
fosse > fos
foyer > foyr
galerie > gal
garenne > garn
grand > gbd
gden > grande
gr > grande
grille > gri
grimpette > grim
groupe > gpe
groupement > gpt
halle > hle
hameau > ham
haut > hch
hippodrome > hip
immeuble > imm
impasse > imp
jardin > jard
jetee > jte
levee > leve
lieu > ld
lieudit > ld
lotissement > lot
maison > mf
manoir > man
marche > mar
metro > met
montee > mte
moulin > mln
musee > mus
nouvelle > nte
palais > pal
parc > parc
parking > pkg
parvis > prv
pas > passage
pn > passage
passe > pass
passerelle > ple
patio > pat
pavillon > pav
peripherique > peri
peristyle > psty
petites > pta
pae > petite
pim > petite
prt > petite
ptr > petite
place > pl
placis > plci
plage > plag
plaine > pln
plan > plan
plateau > plt
pointe > pnt
porche > pch
porte > pte
portique > porq
poterne > pot
pourtour > pour
presqu ile > prq
promenade > prom
quai > qu
quartier > qua
raccourci > rac
raidillon > raid
rampe > rpe
rempart > rem
residence > res
rocade > roc
rond > rpt
roquet > roqt
rotonde > rtd
route > rte
rue > r
ruelle > rle
sente > sen
sentier > sen
square > sq
st > saint
ste > saint
sainte > saint
stade > stde
station > sta
terre > tpl
terrain > trn
terrasse > tsse
tertre > trt
traverse > tra
vallon > val
vallee > val
venelle > ven
vieille > vte
villa > vla
vge > village
vlge > village
voie > voi
centre cial > ccal
centre com > ccal
centre comm > ccal
centre commercial > ccal
ville > mairie
commune > mairie
conseil regional > region
conseil general > departement
companie > cie

93
configure.php Normal file
View File

@ -0,0 +1,93 @@
<?php
Class configure
{
protected $dirname;
protected $sphinx;
protected $hostname;
protected $sql;
protected $indexes;
public function __construct()
{
$this->hostname = exec('echo $(hostname)');
$this->sphinx = 'sphinx.conf';
$this->dirname = 'config/'.$this->hostname.'/';
(file_exists($this->sphinx))?unlink($this->sphinx):'';
}
public function printIndexes($nbServer)
{
$dir = opendir($this->dirname.$this->sql[$nbServer].'/');
$i = 1;
while($file = readdir($dir)) {
$extension = explode('.', $file);
if($file != '.' and $file != '..' and $extension[1] == 'conf') {
echo "\t\t".'['.$i.'] '. $file."\n";
$this->indexes[$i] = $file;$i++;
}
}
if(count($this->indexes) == 0) {
echo "\tAucun indexes dans le repertoire : '".$this->dirname.$this->sql[$nbServer]."' \n";
exit;
}
}
public function printMysqlServer()
{
$dir = opendir($this->dirname);
$i = 1;
while($rep = readdir($dir)) {
if($rep != '.' and $rep != '..' and is_dir($this->dirname.$rep)) {
echo "\t".'['.$i.'] '.$rep."\n";
$this->sql[$i] = $rep;
$this->printIndexes($i);
$i++;
}
}
if(count($this->sql) == 0) {
echo "\tAucun serveurs dans le repertoire : '".$this->dirname."' \n";
exit;
}
}
public function createConfig($mySqlServer, $index)
{
$dirname = $this->dirname.$mySqlServer.'/';
$dir = opendir($dirname);
if(file_exists($dirname.$index)) {
file_put_contents($this->sphinx, file_get_contents($dirname.$index), FILE_APPEND);
return (true);
}
return (false);
}
public function inviteDeCommande()
{
$handle = fopen('.', 'r');
$server = '';
fwrite(STDOUT, "\n - Serveurs SQL disponnible :\n");
$this->printMysqlServer();
while($server != "exit\n") {
echo "Selectionnez Server et Indexe : ";
$server = fgets(STDIN);
$indexes = explode(' ', $server);
if(isset($this->sql[intval($indexes[0])]) and isset($this->indexes[intval($indexes[1])])) {
$this->createConfig($this->sql[intval($indexes[0])], $this->indexes[intval($indexes[1])]);
echo 'Indexe ajouté !'."\n";
} else
echo 'Cet indexe n\'existe pas !'."\n";
}
file_put_contents($this->sphinx, file_get_contents($this->dirname.$this->sphinx), FILE_APPEND);
exec('sudo mv '.$this->sphinx.' /usr/local/sphinx/etc/'.$this->sphinx);
}
}
$a = new configure();
$a->inviteDeCommande();

12
env.sh
View File

@ -1,12 +0,0 @@
#!/bin/bash
ENV_MYSQLHOST=192.168.3.28
ENV_MYSQLUSER=sphinx
ENV_MYSQLPASS=indexer
sed -i -e s/ENV_MYSQLHOST/"$ENV_MYSQLHOST"/g sphinx.*.conf
sed -i -e s/ENV_MYSQLUSER/"$ENV_MYSQLUSER"/g sphinx.*.conf
sed -i -e s/ENV_MYSQLPASS/"$ENV_MYSQLPASS"/g sphinx.*.conf
sed -i -e s/ENV_MYSQLHOST/"$ENV_MYSQLHOST"/g indexer/*.sh
sed -i -e s/ENV_MYSQLUSER/"$ENV_MYSQLUSER"/g indexer/*.sh
sed -i -e s/ENV_MYSQLPASS/"$ENV_MYSQLPASS"/g indexer/*.sh

View File

@ -1,7 +0,0 @@
#!/bin/bash
PATH_BIN=/usr/bin
PATH_LOG=/var/lib/sphinxsearch/log
echo "$(date '+%Y-%m-%d %H:%M:%S') === INDEXATION ACT" >> $PATH_LOG/indexer.log
$PATH_BIN/indexer --rotate act >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') === FIN INDEXATION ACT" >> $PATH_LOG/indexer.log

View File

@ -1,45 +0,0 @@
#!/bin/bash
MYSQL_HOST=ENV_MYSQLHOST
MYSQL_USER=ENV_MYSQLUSER
MYSQL_PASS=ENV_MYSQLPASS
PATH_LOG=/var/lib/sphinxsearch/log
PATH_BIN=/usr/bin
PATH_SQL=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/sql
# Is consolidated ?
output=$(mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS sdv1 < $PATH_SQL/consolidate-ciblage.sql)
idx='';
for line in "$output"; do
idx="$line";
done
# Suppression fin de ligne
idx=$(echo $idx|sed -e "s/^[idx ]*//g"||sed -e "s/[ ]*$//g")
# Lancement de l'indexation si la consolidation a eu lieu
if [ -n "$idx" ]; then
if [[ "$idx" > 0 ]]; then
echo "$(date '+%Y-%m-%d %H:%M:%S') === INDEXATION CIBLAGE" >> $PATH_LOG/indexer.log
# Enregistrement Debut Indexation
mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS sdv1 -e "UPDATE sphinx_idx SET indexingBegin=NOW() WHERE id=$idx" >> $PATH_LOG/indexer.log
# Sphinx rotate
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Debut" >> $PATH_LOG/indexer.log
$PATH_BIN/indexer --config /etc/sphinxsearch/sphinx.conf --rotate ciblage >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Fin" >> $PATH_LOG/indexer.log
# Rotation des tables MySQL - @todo
#echo "$(date '+%Y-%m-%d %H:%M:%S') - Rotation Table - Debut" >> $PATH_LOG/indexer.log
#mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS jo < $PATH_SQL/rotate-ciblage.sql >> $PATH_LOG/indexer.log
#echo "$(date '+%Y-%m-%d %H:%M:%S') - Rotation Table - Fin" >> $PATH_LOG/indexer.log
# Enregistrement Fin Indexation
mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS sdv1 -e "UPDATE sphinx_idx SET indexingEnd=NOW() WHERE id=$idx" >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') === FIN INDEXATION CIBLAGE" >> $PATH_LOG/indexer.log
fi
fi

View File

@ -1,79 +0,0 @@
#!/bin/bash
MYSQL_HOST=ENV_MYSQLHOST
MYSQL_USER=ENV_MYSQLUSER
MYSQL_PASS=ENV_MYSQLPASS
PATH_LOG=/var/lib/sphinxsearch/log
PATH_BIN=/usr/bin
PATH_SQL=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/sql
# Indexation déjà lancé
FILEINDEX=$PATH_LOG/dir-$(date '+%Y%m%d').idx
if [ -f "$FILEINDEX" ]; then
exit 0
fi
# Is consolidated ?
output=$(mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS sdv1 < $PATH_SQL/consolidate-dir.sql)
idx='';
for line in "$output"; do
idx="$line";
done
# Suppression fin de ligne
idx=$(echo $idx|sed -e "s/^[idx ]*//g"||sed -e "s/[ ]*$//g")
# Lancement de l'indexation si la consolidation a eu lieu
if [ -n "$idx" ]; then
if [[ "$idx" > 0 ]]; then
echo "$(date '+%Y-%m-%d %H:%M:%S') === INDEXATION DIR" >> $PATH_LOG/indexer.log
# Nombre de lignes dans la table etablissements
output=$(mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS jo < $PATH_SQL/count-dir.sql)
nbC='';
for line in "$output"; do
nbC="$line"
done
# Suppression fin de ligne
nbC=$(echo $nbC|sed -e "s/^[nbC ]*//g"||sed -e "s/[ ]*$//g")
nbC=$(echo $(($nbC - 1000)))
# Nombre de lignes dans la table etablissements_tmp
output=$(mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS jo < $PATH_SQL/count-dirtmp.sql)
nbT='';
for line in "$output"; do
nbT="$line"
done
# Suppression fin de ligne
nbT=$(echo $nbT|sed -e "s/^[nbT ]*//g"||sed -e "s/[ ]*$//g")
if [ -z "$nbC" ]; then
echo $nbC
elif [ -z "$nbT" ]; then
echo $nbT
#elif [ "$nbT" -gt "$nbC" ]; then
else
# Create file to indicate indexing
rm -f $PATH_LOG/dir-*.idx
echo "START $(date '+%Y-%m-%d %H:%M:%S')" >> $FILEINDEX
# Enregistrement Debut Indexation
mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS sdv1 -e "UPDATE sphinx_idx SET indexingBegin=NOW() WHERE id=$idx" >> $PATH_LOG/indexer.log
# Sphinx rotate
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Debut" >> $PATH_LOG/indexer.log
$PATH_BIN/indexer --config /etc/sphinxsearch/sphinx.conf --rotate dir dir_phx >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Fin" >> $PATH_LOG/indexer.log
# Rotation des tables MySQL
echo "$(date '+%Y-%m-%d %H:%M:%S') - Rotation Table - Debut" >> $PATH_LOG/indexer.log
mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS jo < $PATH_SQL/rotate-dir.sql >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') - Rotation Table - Fin" >> $PATH_LOG/indexer.log
# Enregistrement Fin Indexation
mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS sdv1 -e "UPDATE sphinx_idx SET indexingEnd=NOW() WHERE id=$idx" >> $PATH_LOG/indexer.log
echo "FIN $(date '+%Y-%m-%d %H:%M:%S')" >> $FILEINDEX
echo "$(date '+%Y-%m-%d %H:%M:%S') === FIN INDEXATION DIR" >> $PATH_LOG/indexer.log
fi
fi
fi

View File

@ -1,79 +0,0 @@
#!/bin/bash
MYSQL_HOST=ENV_MYSQLHOST
MYSQL_USER=ENV_MYSQLUSER
MYSQL_PASS=ENV_MYSQLPASS
PATH_LOG=/var/lib/sphinxsearch/log
PATH_BIN=/usr/bin
PATH_SQL=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/sql
# Indexation déjà lancé
FILEINDEX=$PATH_LOG/ent-$(date '+%Y%m%d').idx
if [ -f "$FILEINDEX" ]; then
exit 0
fi
# Is consolidated ?
output=$(mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS sdv1 < $PATH_SQL/consolidate-ent.sql)
idx='';
for line in "$output"; do
idx="$line";
done
# Suppression fin de ligne
idx=$(echo $idx|sed -e "s/^[idx ]*//g"||sed -e "s/[ ]*$//g")
# Lancement de l'indexation si la consolidation a eu lieu
if [ -n "$idx" ]; then
if [[ "$idx" > 0 ]]; then
echo "$(date '+%Y-%m-%d %H:%M:%S') === INDEXATION ENT" >> $PATH_LOG/indexer.log
# Nombre de lignes dans la table etablissements
output=$(mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS jo < $PATH_SQL/count-ent.sql)
nbC='';
for line in "$output"; do
nbC="$line"
done
# Suppression fin de ligne
nbC=$(echo $nbC|sed -e "s/^[nbC ]*//g"||sed -e "s/[ ]*$//g")
nbC=$(echo $(($nbC - 1000)))
# Nombre de lignes dans la table etablissements_tmp
output=$(mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS jo < $PATH_SQL/count-enttmp.sql)
nbT='';
for line in "$output"; do
nbT="$line"
done
# Suppression fin de ligne
nbT=$(echo $nbT|sed -e "s/^[nbT ]*//g"||sed -e "s/[ ]*$//g")
if [ -z "$nbC" ]; then
echo $nbC
elif [ -z "$nbT" ]; then
echo $nbT
#elif [ "$nbT" -gt "$nbC" ]; then
else
# Create file to indicate indexing
rm -f $PATH_LOG/ent-*.idx
echo "START $(date '+%Y-%m-%d %H:%M:%S')" >> $FILEINDEX
# Enregistrement Debut Indexation
mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS sdv1 -e "UPDATE sphinx_idx SET indexingBegin=NOW() WHERE id=$idx" >> $PATH_LOG/indexer.log
# Sphinx rotate
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Debut" >> $PATH_LOG/indexer.log
$PATH_BIN/indexer --config /etc/sphinxsearch/sphinx.conf --rotate ent ent_phx >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Fin" >> $PATH_LOG/indexer.log
# Rotation des tables MySQL
echo "$(date '+%Y-%m-%d %H:%M:%S') - Rotation Table - Debut" >> $PATH_LOG/indexer.log
mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS jo < $PATH_SQL/rotate-ent.sql >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') - Rotation Table - Fin" >> $PATH_LOG/indexer.log
# Enregistrement Fin Indexation
mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS sdv1 -e "UPDATE sphinx_idx SET indexingEnd=NOW() WHERE id=$idx" >> $PATH_LOG/indexer.log
echo "FIN $(date '+%Y-%m-%d %H:%M:%S')" >> $FILEINDEX
echo "$(date '+%Y-%m-%d %H:%M:%S') === FIN INDEXATION ENT" >> $PATH_LOG/indexer.log
fi
fi
fi

9
indexer/indexerAct.sh Normal file
View File

@ -0,0 +1,9 @@
#!/bin/bash
PATH_BIN=/usr/local/sphinx/bin
PATH_LOG=/dbs/sphinxlog
DATE=`date '+%Y-%m-%d %H-%M-%S'`
echo "DEBUT de l'indexation ==== $(date +%H:%M:%S)" >> $PATH_LOG/indexerAct-$(date +%F).log
$PATH_BIN/indexer --rotate act act_phx >> $PATH_LOG/indexerAct-$(date +%F).log
echo "FIN ===== $(date +%H:%M:%S)" >> $PATH_LOG/indexerAct-$(date +%F).log

37
indexer/indexerDiri.sh Executable file
View File

@ -0,0 +1,37 @@
#!/bin/bash
PATH_BIN=/usr/local/sphinx/bin
PATH_LOG=/dbs/sphinxlog
DATE=`date '+%Y-%m-%d %H-%M-%S'`
echo "DEBUT de l'indexation ==== $(date +%H:%M:%S)" >> $PATH_LOG/indexerDiri-$(date +%F).log
# nombre de lignes dans la table etab
output=$(mysql -h192.168.3.30 -usphinx -pindexer jo < sql/countDiri.sql)
for line in "$output"; do
etab="$line"
done
# Suppression fin de ligne
etab=$(echo $etab|sed -e "s/^[etab ]*//g"||sed -e "s/[ ]*$//g")
# nombre de lignes dans la table diri_tmp
output=$(mysql -h192.168.3.30 -usphinx -pindexer jo < sql/countDiri_tmp.sql)
for line in "$output"; do
etab_tmp="$line"
done
# Suppression fin de ligne
etab_tmp=$(echo $etab_tmp|sed -e "s/^[etab_tmp ]*//g"||sed -e "s/[ ]*$//g")
# Comparaison du nombre de lignes entre etab (ancien) et etab_tmp (nouveau)
if test $etab_tmp -gt $etab; then
echo "Il y a $etab_tmp lignes dans la nouvelle table dirigeants ($etab lignes dans l'ancienne)" >> $PATH_LOG/indexerDiri-$(date +%F).log
$PATH_BIN/indexer --rotate dir dir_phx >> $PATH_LOG/indexerDiri-$(date +%F).log
echo "Sphinx - termine : $(date +%H:%M:%S)" >> $PATH_LOG/indexerDiri-$(date +%F).log
mysql -f -usphinx -h192.168.3.30 -pindexer jo < sql/finIndexationDiri.sql >> $PATH_LOG/indexerDiri-$(date +%F).log
else
# Il y a plus de lignes dans l'ancienne table dirigeants ==> On ne fait rien
echo "Il n'y a pas assez de lignes dans la nouvelle table dirigeants ($etab_tmp / $etab) !" >> $PATH_LOG/indexerDiri-$(date +%F).log
exit
fi
echo "FIN ===== $(date +%H:%M:%S)" >> $PATH_LOG/indexerDiri-$(date +%F).log

42
indexer/indexerEtab.sh Executable file
View File

@ -0,0 +1,42 @@
#!/bin/bash
PATH_BIN=/usr/local/sphinx/bin
PATH_LOG=/dbs/sphinxlog
DATE=`date '+%Y-%m-%d %H-%M-%S'`
echo "DEBUT de l'indexation ==== $(date +%H:%M:%S)" >> $PATH_LOG/indexerEtab-$(date +%F).log
# nombre de lignes dans la table etab
output=$(mysql -h192.168.3.30 -usphinx -pindexer jo < sql/countEtab.sql)
for line in "$output"; do
etab="$line"
done
# Suppression fin de ligne
etab=$(echo $etab|sed -e "s/^[etab ]*//g"||sed -e "s/[ ]*$//g")
# Cast de la variable au cas ou
#etab=$(echo $etab| gawk '{print + 0}')
# nombre de lignes dans la table etab_tmp
output=$(mysql -h192.168.3.30 -usphinx -pindexer jo < sql/countEtab_tmp.sql)
for line in "$output"; do
etab_tmp="$line"
done
# Suppression fin de ligne
etab_tmp=$(echo $etab_tmp|sed -e "s/^[etab_tmp ]*//g"||sed -e "s/[ ]*$//g")
# Cast de la variable au cas ou
#etab_tmp=$(echo $etab_tmp| gawk '{print + 0}')
# Comparaison du nombre de lignes entre etab (ancien) et etab_tmp (nouveau)
if test $etab_tmp -gt $etab; then
echo "Il y a $etab_tmp lignes dans la nouvelle table etablissement ($etab lignes dans l'ancienne)" >> $PATH_LOG/indexerEtab-$(date +%F).log
# $PATH_BIN/indexer --rotate --all >> $PATH_LOG/indexer-$(date +%F).log
$PATH_BIN/indexer --rotate ent ent_mns ent_phx >> $PATH_LOG/indexerEtab-$(date +%F).log
echo "Sphinx - terminé : $(date +%H:%M:%S)" >> $PATH_LOG/indexerEtab-$(date +%F).log
mysql -f -usphinx -h192.168.3.30 -pindexer jo < sql/finIndexationEtab.sql >> $PATH_LOG/indexerEtab-$(date +%F).log
else
# Il y a plus de lignes dans l'ancienne table etablissements ==> On ne fait rien
echo "Il n'y a pas assez de lignes dans la nouvelle table etablissement ($etab_tmp / $etab) !" >> $PATH_LOG/indexerEtab-$(date +%F).log
exit
fi
echo "FIN ===== $(date +%H:%M:%S)" >> $PATH_LOG/indexerEtab-$(date +%F).log

View File

@ -1,7 +0,0 @@
#!/bin/bash
PATH_BIN=/usr/bin
PATH_LOG=/var/lib/sphinxsearch/log
echo "$(date '+%Y-%m-%d %H:%M:%S') === INDEXATION ACT" >> $PATH_LOG/indexer.log
$PATH_BIN/indexer --rotate act >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') === FIN INDEXATION ACT" >> $PATH_LOG/indexer.log

View File

@ -1,15 +0,0 @@
#!/bin/bash
PATH_BIN=/usr/bin
PATH_LOG=/var/lib/sphinxsearch/log
echo "$(date '+%Y-%m-%d %H:%M:%S') === RERPISE INDEXATION CIBLAGE" >> $PATH_LOG/indexer.log
# Sphinx rotate
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Debut" >> $PATH_LOG/indexer.log
$PATH_BIN/indexer --config /etc/sphinxsearch/sphinx.init.conf --rotate ciblage >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Fin" >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') === FIN REPRISE INDEXATION CIBLAGE" >> $PATH_LOG/indexer.log

View File

@ -1,13 +0,0 @@
#!/bin/bash
PATH_LOG=/var/lib/sphinxsearch/log
PATH_BIN=/usr/bin
echo "$(date '+%Y-%m-%d %H:%M:%S') === REPRISE INDEXATION DIR" >> $PATH_LOG/indexer.log
# Sphinx rotate
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Debut" >> $PATH_LOG/indexer.log
$PATH_BIN/indexer --config /etc/sphinxsearch/sphinx.init.conf --rotate dir dir_phx >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Fin" >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') === FIN REPRISE INDEXATION DIR" >> $PATH_LOG/indexer.log

View File

@ -1,12 +0,0 @@
#!/bin/bash
PATH_LOG=/var/lib/sphinxsearch/log
PATH_BIN=/usr/bin
echo "$(date '+%Y-%m-%d %H:%M:%S') === REPRISE INDEXATION ENT" >> $PATH_LOG/indexer.log
# Sphinx rotate
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Debut" >> $PATH_LOG/indexer.log
$PATH_BIN/indexer --config /etc/sphinxsearch/sphinx.init.conf --rotate ent ent_phx >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Fin" >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') === FIN REPRISE INDEXATION ENT" >> $PATH_LOG/indexer.log

View File

@ -1,7 +0,0 @@
#!/bin/bash
PATH_LOG=/var/lib/sphinxsearch/log
PATH_BIN=/usr/bin
echo "$(date '+%Y-%m-%d %H:%M:%S') === INDEXATION HISTO" >> $PATH_LOG/indexer.log
$PATH_BIN/indexer --rotate histo >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') === FIN INDEXATION HISTO" >> $PATH_LOG/indexer.log

View File

@ -1,46 +0,0 @@
#!/bin/bash
MYSQL_HOST=ENV_MYSQLHOST
MYSQL_USER=ENV_MYSQLUSER
MYSQL_PASS=ENV_MYSQLPASS
PATH_LOG=/var/lib/sphinxsearch/log
PATH_BIN=/usr/bin
PATH_SQL=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/sql
# Indexation déjà lancé
FILEINDEX=$PATH_LOG/ciblage-$(date '+%Y%m%d').idx
if [ -f "$FILEINDEX" ]; then
exit 0
fi
# Indexation sur le master ?
output=$(mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS sdv1 < $PATH_SQL/slave-ciblage.sql)
idx='';
for line in "$output"; do
idx="$line";
done
# Suppression fin de ligne
idx=$(echo $idx|sed -e "s/^[idx ]*//g"||sed -e "s/[ ]*$//g")
# Lancement de l'indexation
if [ -n "$idx" ]; then
if [[ "$idx" > 0 ]]; then
echo "$(date '+%Y-%m-%d %H:%M:%S') === INDEXATION CIBLAGE" >> $PATH_LOG/indexer.log
# Create file to indicate indexing on slave
rm -v $PATH_LOG/ciblage-*.idx
echo "START $(date '+%Y-%m-%d %H:%M:%S')" >> $FILEINDEX
# Sphinx rotate
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Debut" >> $PATH_LOG/indexer.log
$PATH_BIN/indexer --config /etc/sphinxsearch/sphinx.conf --rotate ciblage >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Fin" >> $PATH_LOG/indexer.log
echo "FIN $(date '+%Y-%m-%d %H:%M:%S')" >> $FILEINDEX
echo "$(date '+%Y-%m-%d %H:%M:%S') === FIN INDEXATION CIBLAGE" >> $PATH_LOG/indexer.log
fi
fi

View File

@ -1,48 +0,0 @@
#!/bin/bash
MYSQL_HOST=ENV_MYSQLHOST
MYSQL_USER=ENV_MYSQLUSER
MYSQL_PASS=ENV_MYSQLPASS
PATH_LOG=/var/lib/sphinxsearch/log
PATH_BIN=/usr/bin
PATH_SQL=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/sql
# Indexation déjà lancé
FILEINDEX=$PATH_LOG/dir-$(date '+%Y%m%d').idx
if [ -f "$FILEINDEX" ]; then
exit 0
fi
# Indexation sur le master ?
output=$(mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS sdv1 < $PATH_SQL/slave-dir.sql)
idx='';
for line in "$output"; do
idx="$line";
done
# Suppression fin de ligne
idx=$(echo $idx|sed -e "s/^[idx ]*//g"||sed -e "s/[ ]*$//g")
echo "$(date '+%Y-%m-%d %H:%M:%S') === TENTATIVE INDEXATION DIR" >> $PATH_LOG/indexer.log
# Lancement de l'indexation
if [ -n "$idx" ]; then
if [[ "$idx" > 0 ]]; then
echo "$(date '+%Y-%m-%d %H:%M:%S') === INDEXATION DIR" >> $PATH_LOG/indexer.log
# Create file to indicate indexing
rm -f $PATH_LOG/dir-*.idx
echo "START $(date '+%Y-%m-%d %H:%M:%S')" >> $FILEINDEX
# Sphinx rotate
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Debut" >> $PATH_LOG/indexer.log
$PATH_BIN/indexer --config /etc/sphinxsearch/sphinx.conf --rotate dir dir_phx >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Fin" >> $PATH_LOG/indexer.log
echo "FIN $(date '+%Y-%m-%d %H:%M:%S')" >> $FILEINDEX
echo "$(date '+%Y-%m-%d %H:%M:%S') === FIN INDEXATION DIR" >> $PATH_LOG/indexer.log
fi
fi

View File

@ -1,48 +0,0 @@
#!/bin/bash
MYSQL_HOST=ENV_MYSQLHOST
MYSQL_USER=ENV_MYSQLUSER
MYSQL_PASS=ENV_MYSQLPASS
PATH_LOG=/var/lib/sphinxsearch/log
PATH_BIN=/usr/bin
PATH_SQL=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/sql
# Indexation déjà lancé
FILEINDEX=$PATH_LOG/ent-$(date '+%Y%m%d').idx
if [ -f "$FILEINDEX" ]; then
exit 0
fi
# Indexation sur le master ?
output=$(mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS sdv1 < $PATH_SQL/slave-ent.sql)
idx='';
for line in "$output"; do
idx="$line";
done
# Suppression fin de ligne
idx=$(echo $idx|sed -e "s/^[idx ]*//g"||sed -e "s/[ ]*$//g")
echo "$(date '+%Y-%m-%d %H:%M:%S') === TENTATIVE INDEXATION ENT" >> $PATH_LOG/indexer.log
# Lancement de l'indexation
if [ -n "$idx" ]; then
if [[ "$idx" > 0 ]]; then
echo "$(date '+%Y-%m-%d %H:%M:%S') === INDEXATION ENT" >> $PATH_LOG/indexer.log
# Create file to indicate indexing
rm -f $PATH_LOG/ent-*.idx
echo "START $(date '+%Y-%m-%d %H:%M:%S')" >> $FILEINDEX
# Sphinx rotate
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Debut" >> $PATH_LOG/indexer.log
$PATH_BIN/indexer --config /etc/sphinxsearch/sphinx.conf --rotate ent ent_phx >> $PATH_LOG/indexer.log
echo "$(date '+%Y-%m-%d %H:%M:%S') - Sphinx - Fin" >> $PATH_LOG/indexer.log
echo "FIN $(date '+%Y-%m-%d %H:%M:%S')" >> $FILEINDEX
echo "$(date '+%Y-%m-%d %H:%M:%S') === FIN INDEXATION ENT" >> $PATH_LOG/indexer.log
fi
fi

View File

@ -1,6 +0,0 @@
SELECT id FROM sphinx_idx
WHERE createEnd BETWEEN (NOW() - INTERVAL 2 HOUR) AND NOW()
AND nom = 'jo.etablissements_act'
AND indexingBegin IS NULL
AND indexingEnd IS NULL
ORDER BY createEnd DESC LIMIT 1;

View File

@ -1,6 +0,0 @@
SELECT id FROM sphinx_idx
WHERE createEnd BETWEEN (NOW() - INTERVAL 1 HOUR) AND NOW()
AND nom = 'jo.dirigeants'
AND indexingBegin IS NULL
AND indexingEnd IS NULL
ORDER BY createEnd DESC LIMIT 1;

View File

@ -1,6 +0,0 @@
SELECT id FROM sphinx_idx
WHERE createEnd BETWEEN (NOW() - INTERVAL 1 HOUR) AND NOW()
AND nom = 'jo.etablissements'
AND indexingBegin IS NULL
AND indexingEnd IS NULL
ORDER BY createEnd DESC LIMIT 1;

View File

@ -1 +0,0 @@
SELECT count(*) AS nb from dirigeants;

View File

@ -1 +0,0 @@
SELECT count(*) AS nb from dirigeants_tmp;

View File

@ -1 +0,0 @@
SELECT count(*) AS nb from etablissements;

View File

@ -1 +0,0 @@
SELECT count(*) AS nb from etablissements_tmp;

View File

@ -0,0 +1 @@
SELECT count(*) AS etab_tmp from dirigeants;

View File

@ -0,0 +1 @@
SELECT count(*) AS etab_tmp from dirigeants_tmp;

View File

@ -0,0 +1 @@
SELECT count(*) AS etab from etablissements;

View File

@ -0,0 +1 @@
SELECT count(*) AS etab_tmp from etablissements_tmp;

View File

@ -0,0 +1,3 @@
DROP TABLE IF EXISTS jo.dirigeants_old;
RENAME TABLE jo.dirigeants TO jo.dirigeants_old;
RENAME TABLE jo.dirigeants_tmp TO jo.dirigeants;

View File

@ -0,0 +1,4 @@
DROP TABLE IF EXISTS jo.etablissements_old;
RENAME TABLE jo.etablissements TO jo.etablissements_old;
RENAME TABLE jo.etablissements_tmp TO jo.etablissements;
ALTER TABLE jo.etablissements_old ADD INDEX(source, siege, actif, adr_dep, capital, cj, ape_entrep, ape_etab, age_entrep, teff_entrep, teff_etab, tca);

View File

@ -1,6 +0,0 @@
SELECT id FROM sphinx_idx
WHERE createEnd BETWEEN (NOW() - INTERVAL 7 DAY) AND NOW()
AND nom = 'jo.etablissements_act'
AND indexingBegin IS NULL
AND indexingEnd IS NULL
ORDER BY createEnd DESC LIMIT 1;

View File

@ -1,2 +0,0 @@
DROP TABLE IF EXISTS jo.etablissements_act_old;
RENAME TABLE jo.etablissements_act TO jo.etablissements_act_old, jo.etablissements_act_tmp TO jo.etablissements_act;

View File

@ -1,2 +0,0 @@
DROP TABLE IF EXISTS jo.dirigeants_old;
RENAME TABLE jo.dirigeants TO jo.dirigeants_old, jo.dirigeants_tmp TO jo.dirigeants;

View File

@ -1,2 +0,0 @@
DROP TABLE IF EXISTS jo.etablissements_old;
RENAME TABLE jo.etablissements TO jo.etablissements_old, jo.etablissements_tmp TO jo.etablissements;

View File

@ -1,4 +0,0 @@
SELECT id FROM sphinx_idx
WHERE indexingEnd BETWEEN (NOW() - INTERVAL 2 HOUR) AND NOW()
AND nom = 'jo.etablissements_act'
ORDER BY indexingEnd DESC LIMIT 1;

View File

@ -1,4 +0,0 @@
SELECT id FROM sphinx_idx
WHERE indexingEnd BETWEEN (NOW() - INTERVAL 2 HOUR) AND NOW()
AND nom = 'jo.dirigeants'
ORDER BY indexingEnd DESC LIMIT 1;

View File

@ -1,4 +0,0 @@
SELECT id FROM sphinx_idx
WHERE indexingEnd BETWEEN (NOW() - INTERVAL 2 HOUR) AND NOW()
AND nom = 'jo.etablissements'
ORDER BY indexingEnd DESC LIMIT 1;

View File

@ -1,36 +0,0 @@
#!/bin/bash
PATH_BIN=/usr/local/sphinx/bin
PATH_LOG=/dbs/sphinxlog
PATH_SQL=/home/scripts/indexer/sql
# nombre de lignes dans la table etab
output=$(mysql -h192.168.3.30 -usphinx -pindexer jo < $PATH_SQL/countEtab.sql)
for line in "$output"; do
etab="$line"
done
# Suppression fin de ligne
etab=$(echo $etab|sed -e "s/^[etab ]*//g"||sed -e "s/[ ]*$//g")
# Cast de la variable au cas ou
#etab=$(echo $etab| gawk '{print + 0}')
# nombre de lignes dans la table etab_tmp
output=$(mysql -h192.168.3.30 -usphinx -pindexer jo < $PATH_SQL/countEtab_tmp.sql)
for line in "$output"; do
etab_tmp="$line"
done
# Suppression fin de ligne
etab_tmp=$(echo $etab_tmp|sed -e "s/^[etab_tmp ]*//g"||sed -e "s/[ ]*$//g")
# Cast de la variable au cas ou
#etab_tmp=$(echo $etab_tmp| gawk '{print + 0}')
# Comparaison du nombre de lignes entre etab (ancien) et etab_tmp (nouveau)
if [ -z "$etab" ]; then
echo "etab = null"
elif [ -z "$etab_tmp" ]; then
echo "etab_tmp = null"
elif [ $etab_tmp -gt $etab ]; then
echo "Il y a $etab_tmp lignes dans la nouvelle table etablissement ($etab lignes dans l'ancienne)"
else
# Il y a plus de lignes dans l'ancienne table etablissements ==> On ne fait rien
echo "Il n'y a pas assez de lignes dans la nouvelle table etablissement ($etab_tmp / $etab) !"
fi

147
initscript/sphinxsearch Normal file
View File

@ -0,0 +1,147 @@
#! /bin/sh
#
# Written by Miquel van Smoorenburg <miquels@cistron.nl>.
# Modified for Debian
# by Ian Murdock <imurdock@gnu.ai.mit.edu>.
# Further changes by Javier Fernandez-Sanguino <jfs@debian.org>
# Modified for sphinx by Radu Spineanu <radu@debian.org>
#
#
### BEGIN INIT INFO
# Provides: sphinxsearch
# Required-Start: $local_fs $remote_fs $syslog $network $time
# Required-Stop: $local_fs $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Fast standalone full-text SQL search engine
### END INIT INFO
PREFIX=/usr/local/sphinx
DATA=/dbs/sphinx
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=$PREFIX/bin/searchd
NAME=sphinx
DESC=sphinx
test -x $DAEMON || exit 0
PIDFILE=/var/log/searchd.pid
DODTIME=1 # Time to wait for the server to die, in seconds
# If this value is set too low you might not
# let some servers to die gracefully and
# 'restart' will not work
# Include sphinx defaults if available
if [ -f /etc/default/sphinx ] ; then
. /etc/default/sphinx
fi
set -e
running_pid()
{
# Check if a given process pid's cmdline matches a given name
pid=$1
name=$2
[ -z "$pid" ] && return 1
[ ! -d /proc/$pid ] && return 1
cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
# Is this the expected child?
[ "$cmd" != "$name" ] && return 1
return 0
}
running()
{
# Check if the process is running looking at /proc
# (works for all users)
# No pidfile, probably no daemon present
[ ! -f "$PIDFILE" ] && return 1
# Obtain the pid and check it against the binary name
pid=`cat $PIDFILE`
running_pid $pid $DAEMON || return 1
return 0
}
force_stop() {
# Forcefully kill the process
[ ! -f "$PIDFILE" ] && return
if running ; then
kill -15 $pid
# Is it really dead?
[ -n "$DODTIME" ] && sleep "$DODTIME"s
if running ; then
kill -9 $pid
[ -n "$DODTIME" ] && sleep "$DODTIME"s
if running ; then
echo "Cannot kill $LABEL (pid=$pid)!"
exit 1
fi
fi
fi
rm -f $PIDFILE
return 0
}
case "$1" in
start)
echo -n "Starting $DESC: "
# Check if we have the configuration file
if [ ! -f /usr/local/sphinx/etc/sphinx.conf ]; then
echo "Please create an /usr/local/sphinx/sphinx.conf configuration file."
echo "Templates are in the directory."
exit 0
fi
start-stop-daemon --start --exec ${DAEMON}
if running ; then
echo "$NAME."
else
echo " ERROR."
fi
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE \
--exec $DAEMON
echo "$NAME."
;;
force-stop)
echo -n "Forcefully stopping $DESC: "
force_stop
if ! running ; then
echo "$NAME."
else
echo " ERROR."
fi
;;
restart)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE \
--exec $DAEMON
[ -n "$DODTIME" ] && sleep $DODTIME
start-stop-daemon --start --exec ${DAEMON}
echo "$NAME."
;;
status)
echo -n "$LABEL is "
if running ; then
echo "running"
else
echo " not running."
exit 1
fi
;;
*)
N=/etc/init.d/$NAME
# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $N {start|stop|restart|force-reload|status|force-stop}" >&2
exit 1
;;
esac
exit 0

12
logrotate/searchd Normal file
View File

@ -0,0 +1,12 @@
/dbs/sphinxlog/query.log /dbs/sphinxlog/searchd.log {
missingok
notifempty
weekly
rotate 5
compress
delaycompress
create 640 root root
postrotate
killall -SIGUSR1 searchd
endscript
}