Java 如何存储映射表-lucene或DB?
我想在Java 如何存储映射表-lucene或DB?,java,database,indexing,lucene,Java,Database,Indexing,Lucene,我想在id和两个文本属性之间存储大型映射表。 该数据集最多有100万条条目,每天都会刷新 您愿意创建一个lucene索引和一个由该id创建的索引表吗?或者创建一个id为主键的数据库(postgres)表?或者甚至是一个不同的解决方案 为什么人们会选择这两种解决方案 我只想按ID查找,没有反向查找。映射表应该很简单:输入一个id,然后返回两个字符串属性。您要查找的似乎是一个 键值(KV)存储使用关联数组(也称为映射) 或字典)作为其基本数据模型。在这个模型中,数据是 表示为键值对的集合,这样每个
id
和两个文本属性之间存储大型映射表。
该数据集最多有100万条条目,每天都会刷新
您愿意创建一个lucene
索引和一个由该id创建的索引表吗?或者创建一个id为主键的数据库(postgres)表?或者甚至是一个不同的解决方案
为什么人们会选择这两种解决方案
我只想按ID查找,没有反向查找。映射表应该很简单:输入一个id,然后返回两个字符串属性。您要查找的似乎是一个
键值(KV)存储使用关联数组(也称为映射)
或字典)作为其基本数据模型。在这个模型中,数据是
表示为键值对的集合,这样每个
可能的键在集合中最多出现一次
键值模型是最简单的非平凡数据模型之一,
更丰富的数据模型通常在它之上实现。这个
键值模型可以扩展为维护
按字典顺序排列的键。这个扩展很强大,因为它
可以有效地处理密钥范围
键值存储可以使用从
从一致性到可序列化性。有些支持键的排序。一些
在内存(RAM)中维护数据,而其他设备则采用固态驱动器
或旋转圆盘
这里的文章还提供了一个相当完整的可用实现列表。不幸的是,我不能向您推荐其中一种实现,因为我没有在生产中使用过这些实现。但我坚信谷歌充满了对关键价值商店的比较
为了回答您的问题,我不会选择Lucene,因为它是一个开源的信息检索软件库,旨在实现信息检索应用程序。你要做的是不要去碰Lucene的甜点
经典的RDBMS更接近您的需求。但如上所述,关键价值商店会解决这个问题。我警告你,这个问题可能会吸引反对票,因为它读起来很像询问工具和意见,这两件事是直接的密切原因。如果我是你,我会换个说法。另外,请解释如何在您的应用程序中准确使用此映射表。您是否只按ID查找?或者你也对文本进行反向查找吗?在上面添加了一些信息。它应该是一个简单的键值映射(但有多个属性)。仅按键/id进行查找。映射引擎应具有哪些属性?据我们所知,任何持久化映射都足够好。不需要lucene(文本上的野兽)或完整的DB。