将每个属性类型设置为not_analyzed为自定义对象

 杜伟丿2552 发布于 2022-12-04 13:35

我有一个自定义对象,我希望将其存储在ElasticSearch中作为索引中自己的类型,但我不希望对象中的任何字段进行分析.我应该怎么做呢?

我一直在使用ElasticSearch NEST客户端,但也可以根据需要手动创建映射.

1 个回答
  • 你有几个选项可以工作.就个人而言,我会选择前两个中的任何一个.如果它是每日索引,则第二个是更好的选择. 预先定义映射并禁用动态字段.这是迄今为止最安全的方法,它可以帮助您避免错误,并且可以防止以后添加字段. { mappings:{ _default_:{ _all:{ enabled:false } }, mytype:{ dynamic:strict, properties:{ } } } } 创建索引模板是也禁用动态领域,而且可以持续不断地用相同的映射(S)推出新的指数. 您可以创建分层索引模板,以便多个应用于任何给定索引. { template:mytimedindex-*, settings:{ number_of_shards:2 }, mappings:{ _default_:{ _all:{ enabled:false } }, mytype:{ dynamic:strict, properties:{ } } } } 创建动态映射,允许新的领域,但默认所有的strings到not_analyzed: dynamic_templates:[{ strings:{ mapping:{ index:not_analyzed, type:string }, match:*, match_mapping_type:string } }] 这将允许您动态地向映射添加字段.
    2022-12-11 01:55 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有