Skip to content

Instantly share code, notes, and snippets.

@dadoonet
Created March 21, 2012 10:27
Show Gist options
  • Save dadoonet/2146038 to your computer and use it in GitHub Desktop.
Save dadoonet/2146038 to your computer and use it in GitHub Desktop.
French analyzer for ES
#!/bin/bash
ES='http://localhost:9200'
ESIDX='test3'
ESTYPE='test'
curl -XDELETE $ES/$ESIDX
curl -XPUT $ES/$ESIDX/ -d '{
"settings" : {
"index":{
"analysis":{
"analyzer":{
"francais":{
"type":"custom",
"tokenizer":"standard",
"filter":["lowercase", "fr_stemmer", "stop_francais", "asciifolding", "elision"]
}
},
"filter":{
"stop_francais":{
"type":"stop",
"stopwords":["_french_"]
},
"fr_stemmer" : {
"type" : "stemmer",
"name" : "french"
},
"elision" : {
"type" : "elision",
"articles" : ["l", "m", "t", "qu", "n", "s", "j", "d"]
}
}
}
}
}
}'
curl -XPUT $ES/$ESIDX/$ESTYPE/_mapping -d '{
"test" : {
"_all" : { "analyzer":"francais" },
"properties" : {
"title" : {"type" : "string", "analyzer":"francais"},
"message" : {"type" : "string", "analyzer":"francais"}
}
}
}'
curl -XPUT $ES/$ESIDX/$ESTYPE/1 -d @input.json
curl -XPOST $ES/$ESIDX/'_refresh'
curl -XPOST $ES/$ESIDX/$ESTYPE/_search?pretty=true -d '{
"query": {
"query_string": {
"query" : "essence"
}
}
}'
curl -XPOST $ES/$ESIDX/$ESTYPE/_search?pretty=true -d '{
"query": {
"query_string": {
"query" : "Président"
}
}
}'
curl -XPOST $ES/$ESIDX/$ESTYPE/_search?pretty=true -d '{
"query": {
"query_string": {
"query" : "president"
}
}
}'
curl -XPOST $ES/$ESIDX/$ESTYPE/_search?pretty=true -d '{
"query": {
"query_string": {
"query" : "avions"
}
}
}'
{
"title": "Le prix de l'essence s'invite dans la campagne",
"message": "L'essence sans plomb 95 a franchi le seuil symbolique des deux euros le litre dans une station à Paris, selon les données publiées mardi 13 mars, par le site spécialisé Carbeo.
Un litre de SP 95 se vendait 2,020 euros le litre à la pompe d'un parking situé rue Saint-Antoine, près de la place de la Bastille, dans le 4e arrondissement de la capitale. Dans ce texte, j'ajoute des avions.
Les prix de l'essence sans plomb ont atteint de nouveaux sommets en France la semaine dernière, à 1,6211 euro en moyenne pour le litre de sans plomb 95 et à 1,6610 pour celui de sans plomb 98, selon les données publiées lundi par le ministère du développement durable.
Le prix du SP 98 avait déjà établi un record la semaine le 2 mars, à 1,6493 euro le litre. Pour le SP 95, le précédent record datait du 24 février, à 1,6094 euro.
Depuis la fin 2011, les prix de l'essence battent record sur record en France, propulsés par un double effet : des tensions géopolitiques (Iran, Nigeria, etc.) qui maintiennent les cours du pétrole brut à des niveaux très élevés et l'affaiblissement de l'euro par rapport au dollar, qui amplifie le coût de l'or noir une fois sa valeur convertie dans la monnaie unique.
FAIRE JOUER LA CONCURRENCE, SELON NICOLAS SARKOZY
Le président Nicolas Sarkozy, candidat à sa propre succession, avait qualifié fin février de \"plaisanterie\" un blocage des prix du pétrole – une proposition avancée par le candidat socialiste François Hollande –, soulignant que les prix sont déterminés par \"un marché mondial à l'extérieur\".
Mercredi, il a conseillé aux Français de faire jouer la concurrence entre les distributeurs de carburants face à la flambée des prix de l'essence, mais a de nouveau rejeté toute idée de réduire la taxe sur les produits pétroliers (TIPP). \"Lorsque le prix de l'essence augmente, la consommation des Français diminue parce qu'ils font plus attention. Donc pour les recettes de l'Etat, ça n'augmente pas\", a déclaré sur Europe 1 le chef de l'Etat.
Il a souligné qu'il y avait 30 à 50 centimes de différence de prix au litre d'une station service à l'autre et que réduire de deux centimes par litre la TIPP coûterait un milliard d'euros à l'Etat, ce qui serait aussi une \"façon de faire payer le contribuable\".
\"Je dis aux Français [...] : faites jouer la concurrence, parce que s'il y a un petit malin dans une station-service qui met le litre d'essence à 2 euros [...], franchement, on n'est pas obligés [...] de payer plus cher pour avoir moins bien\", a déclaré le président-candidat. \"Il y a des gens qui profitent de l'augmentation du pétrole, n'y allez pas, allez acheter votre essence là où c'est moins cher.\"
Nicolas Sarkozy a brocardé son adversaire socialiste, François Hollande. \"J'entends M. Hollande dire qu'il va bloquer les prix du pétrole. Mais enfin, c'est à pleurer !\", a déclaré le chef de l'Etat. \"Il va bloquer quoi ? Il va dire à l'Arabie saoudite, à l'Iran, aux producteurs de pétrole : 'Attention, j'arrive avec mon petit costume, et je vais bloquer les prix' ? Qui peut croire une fable pareille ?\"
M. Hollande souhaite un blocage des prix de l'essence qui durerait trois mois, période à l'issue de laquelle il rétablirait une TIPP \"flottante\". La TIPP \"flottante\" consiste à baisser les taxes quand le baril monte et à les augmenter quand il baisse."
}
@damienalexandre
Copy link

fr_stemmer filter should be placed after the stop_francais one.
I was using a custom list with the word "musique" and as the last "e" was dropped by the stemmer, I was not stopping the word! Took me a while to figure this out! :)

@damienalexandre
Copy link

Also, what do you think about minimal_french stemmer? This article seems to be like "it's the best one" but I do not know - if you have any input on this... :)

@cgravier
Copy link

Thanks for sharing this.

@cgravier
Copy link

To complete search examples in case it helps someone :

 curl -XPOST $ES/$ESIDX/$ESTYPE/_search?pretty=true -d '{
    "query": {
        "query_string": {
            "query" : "Préside*",
             "analyze_wildcard": "true"
        }
    }
}'

(beware it is time-consuming but this is a trade-off is you want to avoid n-grams indexes)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment