/ / MapperParsingException sur la reconstruction de_index dans django-haystack avec elasticsearch - python, django, elasticsearch, django-haystack

MapperParsingException sur la reconstruction de_index dans django-haystack avec elasticsearch - python, django, elasticsearch, django-haystack

J'utilise java 1.7.0_95, Django 1.8.4, Python 3.4.0, Django Rest Framework 3.1.3, ElasticSearch 2.3.1, pyelasticsearch 1.4 et Django Haystack 2.4.1

Je rencontre une erreur dans elasticsearch chaque fois que j'essaie de le faire python manage.py rebuild_index. C'est l'erreur:

MapperParsingException [Définition du mappage racinea des paramètres non pris en charge: [_boost: {null_value = 1.0, name = boost}]] at org.elasticsearch.index.mapper.DocumentMapperParser.checkNoRemainingFields (DocumentMapperParser.java:171) at org.elasticsearch.index.mapper.DocumentMapperParser.parse (DocumentMapperParser.java:159) at org.elasticsearch.index.mapper.DocumentMapperParser.parse (DocumentMapperParser.java:99) à org.elasticsearch.index.mapper.MapperService.parse (MapperService.java:498) à l'adresse org.elasticsearch.cluster.metadata.MetaDataMappingService $ PutMappingExecutor.applyRequest (MetaDataMappingService.java:257) à org.elasticsearch.cluster.metadata.MetaDataMappingService $ PutMappingExecutor.execute (MetaDataMappingService.java:230) à org.elasticsearch.cluster.service.InternalClusterService.runTasksForExecutor (InternalClusterService.java:468) à org.elasticsearch.cluster.service.InternalClusterService $ UpdateTask.run (InternalClusterService.java:772) à org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor $ TieBreakingPrioritizedRunnable.runAndClean (PrioritizedEsThreadPoolExecutor.java:231) à org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor $ TieBreakingPrioritizedRunnable.run (PrioritizedEsThreadPoolExecutor.java:194) sur java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145) à java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:615) sur java.lang.Thread.run (Thread.java:745)

Voici ma configuration:

HAYSTACK_CONNECTIONS = {
"default": {
"ENGINE": "haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine",
"URL": "http://127.0.0.1:9200/",
"INDEX_NAME": "haystack",
},
}

HAYSTACK_SIGNAL_PROCESSOR = "haystack.signals.RealtimeSignalProcessor"

HAYSTACK_SEARCH_RESULTS_PER_PAGE = 40

Réponses:

4 pour la réponse № 1

Il y a un pertinent django-haystack question de supprimer le boost paramètre qui n'est plus pris en charge dans ElasticSearch > = 2:

Avant ce changement, django-haystack utilisait le _boost paramètre dans la cartographie pour la ElasticSearch backend. La modification a été apportée à la branche principale. Vous pouvez faire des choses en ce moment:

  • installer la version de développement de django-haystack directement depuis github:

    pip install -e git+https://github.com/toastdriven/django-haystack.git@master#egg=django-haystack
    
  • rétrograder ElasticSearch à la dernière version stable avant la mise à niveau à la 2ème, je pense qu'il est 1.7.3

En outre, voici la discussion pertinente: