elasticsearch,Database,Database Design,Data Structures,Indexing,elasticsearch" /> elasticsearch,Database,Database Design,Data Structures,Indexing,elasticsearch" />

Database 当数据模型不固定时,如何编制索引?

Database 当数据模型不固定时,如何编制索引?,database,database-design,data-structures,indexing,elasticsearch,Database,Database Design,Data Structures,Indexing,elasticsearch,如果我正在构建一个允许动态数据模型(任何对象/类型)的系统,即允许模式演变,我将如何使用elasticsearch之类的工具来索引数据以便于查询?这是可能的,还是选择了严格模式和索引还是动态模式和无索引?是的,您可以将任意数据索引到ES中。“映射本身非常灵活,无架构。新字段和对象将自动添加到指定类型的映射定义中” 正如上面所暗示的,一个()的“映射”是一个重要的概念,它与如何在ES中存储和搜索数据有关。某些功能仅在“非默认”映射上可用。创建相关映射确实需要知道字段名称(以及您希望这些字段的映射是

如果我正在构建一个允许动态数据模型(任何对象/类型)的系统,即允许模式演变,我将如何使用elasticsearch之类的工具来索引数据以便于查询?这是可能的,还是选择了严格模式和索引还是动态模式和无索引?

是的,您可以将任意数据索引到ES中。“映射本身非常灵活,无架构。新字段和对象将自动添加到指定类型的映射定义中”

正如上面所暗示的,一个()的“映射”是一个重要的概念,它与如何在ES中存储和搜索数据有关。某些功能仅在“非默认”映射上可用。创建相关映射确实需要知道字段名称(以及您希望这些字段的映射是什么),因此在动态数据模型中并非所有功能都是可能的


同样值得注意的是,对映射的更新是有限制的,因此可能会在不断发展的数据模型中产生限制。

您所说的“动态数据模型”是什么意思?EAV?老实说,我不知道EAV。我只是在考虑这样一种情况,即系统允许开发人员使用他们选择的任何对象结构来填充它,也就是说,他们可能以不同的方式表示相同的对象。如果这是允许的,是否仍然可以在此数据上建立索引?