Question

Je cherche à utiliser ElasticSearch pour fournir les fonctions de recherche de notre site.

Je l'ai expérimenté avec elle, mais je suis incapable de permettre à l'analyseur de porterstem (de sorte que la recherche de combat et les combats combats matchs).

Voici une course vers le bas de mon entrée.

curl -XPUT localhost:9200/local/ -d'
index :                     
    analysis : 
        analyzer : 
            stemming : 
                type : custom 
                tokenizer : standard 
                filter : [standard, lowercase, stop, porterStem] 
'

curl -XPUT localhost:9200/local/_mapping -d'{"properties": { "title" : { "analyzer" : "stemming", "type" : "string" }}}'

curl -XPUT localhost:9200/local/article/1 -d'{"title": "Fight for your life"}'
curl -XPUT localhost:9200/local/article/2 -d'{"title": "Fighting for your life"}'
curl -XPUT localhost:9200/local/article/3 -d'{"title": "My dad fought a dog"}'
curl -XPUT localhost:9200/local/article/4 -d'{"title": "Bruno fights Tyson tomorrow"}'

en cours d'exécution Cependant, une recherche de « lutte » correspond uniquement à la première entrée -. Celui qui contient le terme exact

curl -XGET localhost:9200/local/_search?q=fight

Les paramètres corrects semblent avoir été mis en place, mais ne semble pas fonctionner.

  "indices" : {
    "local" : {
      "aliases" : [ ],
      "settings" : {
        "index.analysis.analyzer.stemming.type" : "custom",
        "index.analysis.analyzer.stemming.tokenizer" : "standard",
        "index.analysis.analyzer.stemming.filter.1" : "lowercase",
        "index.analysis.analyzer.stemming.filter.0" : "standard",
        "index.analysis.analyzer.stemming.filter.3" : "porterStem",
        "index.analysis.analyzer.stemming.filter.2" : "stop",
        "index.number_of_shards" : "5",
        "index.number_of_replicas" : "1"
      },

Quelqu'un at-il cette fonctionnalité et en cours d'exécution et capable de me diriger dans la bonne direction?

Était-ce utile?

La solution

Il y a une configuration par exemple sur l'utilisation des analyseurs personnalisés, en utilisant l'égrappoir boule de neige: Pourquoi ElasticSearch ne trouve pas mon mandat

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top