2015-03-06 1 views
1

J'essaie d'utiliser le plug-in ICU sur une instance intégrée d'Elasticsearch. Je l'ai installé en ajoutant la dépendance à la pom, et configurer les paramètres du plug-in, qui semble être chargé correctement:Elasticsearch ICU plugin - Analyseur introuvable

INFO - [Quasar] loaded [analysis-icu], sites [] 

Les paramètres sont les suivants:

"index-name": { 
    "settings": { 
     "analysis": { 
      "analyzer": { 
       "ducet_sort": { 
        "tokenizer": "keyword", 
        "filter": [ "icu_collation" ] 
       } 
      } 
     } 
    } 

Le bit de la mise en correspondance où je suis en train d'utiliser le plugin à ressemble à ceci:

"primaryName": { 
    "type": "string", 
     "fields": { 
      "sort": { 
       "type": "string", 
       "analyzer": "ducet_sort" 
      } 
     } 
}, 

Lorsque je tente de PUT le fichier de mappage dans l'index, je reçois l'exception suivante:

org.elasticsearch.index.mapper.MapperParsingException: Analyzer [ducet_sort] not found for field [sort] 

Est-ce que quelqu'un sait ce qui se passe ici? J'ai fait une enquête précédente sur ceci et cela a fonctionné sur une instance autonome installée sur ma machine ...

Merci!

EDIT: J'utilise la version ES 1.3.1 et ICU version plug-in 2.3.0

Répondre

1

D'accord ... Après quelques heures, je trouve la question. La configuration n'était pas correcte et ES ne prenait pas correctement l'analyseur. Cela l'a fait:

{ 
    "index": { 
     "analysis": { 
      "analyzer": { 
       "ducet_sort": { 
        "tokenizer": "keyword", 
        "filter": [ "icu_collation" ] 
       } 
      } 
     } 
    } 
} 

Le bit settings était inutile. Je ne sais pas exactement pourquoi cela se passait, mais ce n'est nulle part dans les docs.