mysql - MySQL 表中的所有数据是否也应该存储在 solr 中?

标签 mysql sql solr lucene dih

您好,我有一个 MySQL 表,我想主要对其进行范围搜索,而且我希望它很快。所有新数据首先存储在 MySQL 中,然后使用 DIH 每分钟增量导入到 Solr 中。每天生成大约 20,000 行。

MySQL 架构

MySQL 表包含 6 列我要进行范围搜索(其中 2 列是 TIMESTAMP,还有一对地理空间坐标),12 列是 TINYINT 包含 01。还有30列不需要查找,其中1列是主键id

问题:是否建议将所有 48 列存储在 solr 中并仅在 solr 中进行搜索?或者我应该只将要搜索的列存储在 solr 中,然后只从 solr 中检索搜索结果的 id,然后 SELECT 我想要的行从 MySQL 表中使用?

感谢所有帮助! :)

最佳答案

在你的情况下,我建议只存储你需要在 Solr 中搜索的属性(因为它们很少,所以索引所有列将是不必要的开销)。

之前有关于这个话题的问题:
Solr and MySQL, How to keep an updated index, and, is a DB even needed if it's simple?
Solr / rdbms, where to store additonal data
Solr best practice: All data in Solr or periodically copy to Solr?

关于mysql - MySQL 表中的所有数据是否也应该存储在 solr 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12572978/

相关文章:

mysql - 在 sql 中执行 SCD 的通用过程

mysql - 使用 where 子句查找与另一个 col 的最小值关联的值

sql - 如何链接四个表避免N元关联

solr - 文件系统数据源的 DataImportHandler DIH

php - Php 的库存管理系统

java - 未找到 JDBC 驱动程序,即使我已将其添加到类路径中

sql - 比较 HIVE 中的两个表的相等性

sql - Oracle 虚拟列引用另一个表

java - Solr 自定义 UpdateRequestProcessor 失败并显示 "Error Instantiating UpdateRequestProcessorFactory"

java - Solr 导入命令不起作用