当前位置: 首页 > 面试题库 >

MapperParsingException在使用Elasticsearch在Django干草堆中执行rebuild_index

严昀
2023-03-14
问题内容

我使用java 1.7.0_95Django 1.8.4Python 3.4.0Django Rest Framework 3.1.3ElasticSearch 2.3.1pyelasticsearch 1.4Django Haystack 2.4.1

每次尝试进行elasticsearch时,我都遇到错误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使用的_boostElasticSearch后端映射中的参数。已对master分支进行了更改。您现在可以执行以下操作:

  • django-haystack直接从github 安装的开发版本:

    pip install -e git+https://github.com/toastdriven/django-haystack.git@master#egg=django-haystack
    
  • ElasticSearch在升级到第二版之前将其降级到最新的稳定版本1.7.3



 类似资料:
  • 我使用的是、、、、、和 下面是我的配置:

  • 我用Django Haystack已经有一段时间了,它很棒!我有一个相当沉重的数据,需要不时更新(15至30分钟)网站。 当使用时,需要花费大量时间来更新数据。有没有办法加快速度?或者可能只更新更改的数据,如果可能的话... 我目前正在使用Django Haystack 1.2。7,Solr作为后端,Django 1.4。 谢谢!!! 编辑: 是的,我试过阅读文档的这一部分,但我真正需要的是一种加

  • 问题内容: 我有一个使用elasticsearch的Django应用。我想拥有100%的代码测试覆盖率,因此我需要测试对Elasticsearch(本地“安装”)的API调用。 所以我的问题是:模拟整个elasticsearch更好还是应该运行elasticserver并检查结果? IMO最好模拟elasticsearch并仅检查python代码(测试是否使用正确的参数调用了所有内容)。 问题答案

  • 问题内容: 我有以下分析设置: 字符串类型的每个字段都具有以下映射: 我希望能够用 老年痴呆 症 写 痴呆症 或用 老年痴呆症的 话写 痴呆 症 。因此,我想 在老年痴呆症中 获得 痴呆症 。 如果不使用所有物,则多匹配查询将不起作用: 但是,如果使用所有物,它就可以工作: 另一方面,如果不使用所有物,则布尔查询有效: 但是,如果使用所有物,则不起作用: 如何使以上所有查询正常工作? -更新- 如

  • 我试图使用Django将PostgreSQL表提取到HTML中,当我在PostgreSQL的查询工具中执行空间查询时,我得到了完美的结果,但当我试图从Django执行相同的脚本时,我得到了所有的数据行。谢谢你提前帮忙。 姜戈剧本 HTML

  • 问题内容: 我在Spring Boot应用程序中使用Elasticsearch 2.4,我需要使用Java API 执行对远程ES实例的请求。 我已经找到了解决这个问题的方法,但是就我而言,我有一个NPE试图执行该功能。 ES的模块包括: 这是我现在用于测试的代码片段: 这是包装好的豆: 需要包装器以允许通过Spring Boot配置文件进行配置,因此只是为了方便。 在通过调用引起的方法 : 我想