我使用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和Django Haystack 2.4.1
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
Django Haystack 2.4.1
每次尝试进行elasticsearch时,我都遇到错误python manage.py rebuild_index。这是错误:
python manage.py rebuild_index
MapperParsingException [根映射定义具有不受支持的参数:[_boost:{null_value = 1.0,name = boost}]] 在org.elasticsearch.index.mapper.DocumentMapperParser.checkNoRemainingFields(DocumentMapperParser.java:171) 在org.elasticsearch.index.mapper.DocumentMapperParser.parse(DocumentMapperParser.java:159) 在org.elasticsearch.index.mapper.DocumentMapperParser.parse(DocumentMapperParser.java:99) 在org.elasticsearch.index.mapper.MapperService.parse(MapperService.java:498) 在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)中 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615) 在java.lang.Thread.run(Thread.java:745)
这是我的配置:
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
django-haystack删除> = 2中boost不再支持的参数存在一个相关问题ElasticSearch:
django-haystack
boost
ElasticSearch
在进行此更改之前,django- haystack使用的_boost是ElasticSearch后端映射中的参数。已对master分支进行了更改。您现在可以执行以下操作:
django- haystack
_boost
django-haystack直接从github 安装的开发版本:
pip install -e git+https://github.com/toastdriven/django-haystack.git@master#egg=django-haystack
ElasticSearch在升级到第二版之前将其降级到最新的稳定版本1.7.3
1.7.3