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 № 1Il 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 est1.7.3
En outre, voici la discussion pertinente: