你有一个MySQL表,我想做的主要是范围搜索,我希望它快。所有新数据首先存储在MySQL中,然后使用DIH每分钟将delta导入到Solr中。每天生成大约20,000行。
MySQL架构
MySQL表包含6个我想要进行范围搜索的列(其中2个是TIMESTAMP
s,并且有一对地理空间坐标),12列是TINYINT
,包含{ {1}}或0
。还有30个其他列不需要搜索,其中一列是主键1
。
问题:建议将所有48列存储在solr中并仅在solr中进行搜索吗?或者我应该只将我想要搜索的列存储在solr中,并从solr中检索搜索结果的id
,然后{MySQL}我要从MySQL表中使用的行id
?
所有帮助表示赞赏! :)
答案 0 :(得分:0)
在你的情况下,我建议只存储你需要在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?