该网站目前主要进行范围搜索(纬度&经度),并使用了一些筛选条件,如WHERE color = "red"
类型的子句。然而,将MySQL与地理空间索引一起使用仍然非常缓慢,我需要加快速度。用于地理空间搜索的MySQL-Solr
问题:使用Solr来做搜索是个好主意吗?
如果是这样,我是否应该只将MySQL中的范围列复制到Solr中,并在MySQL中执行WHERE
子句,或者在Solr中执行两种类型的查询?
我读过Solr并不是用来存储数据(比如MySQL)的数据。这是否意味着如果我的搜索可以发生在10个不同的列上(或Solr术语中的field
),并且我从Solr's复制的MySQL表格只有11个表格,我仍然会保留MySQL表格,即使这些表格几乎用完了一半的存储空间是多余的两倍?
看来我正在使用结构化数据(因为每行都有多个定义的列?),并将整个表存储在Solr中,而不是在MySQL和Solr上具有冗余数据,这样在写入数据时将节省存储空间和数据库访问操作次数。 Solr是一个很好的选择吗?
就速度而言,使用PostGIS还是Solr会更好?
由于增加了复杂性,你的意思是使用DIH与Solr同步MySQL(它将作为主要数据存储)?在我的情况下,Solr的数据在MySQL后面1分钟仍然可以容忍。 – Nyxynyx
SOLR-2155看起来很甜美,一定会试穿!我需要的是在500k行的表格上进行快速范围搜索(时间戳和经纬度对)。我没有预见到需要全文搜索。至于取整纬度/经度值,我也会在具有这些纬度/经度值的地图上绘制针脚。在存储在Solr中时,将一个好办法整理值,并且在绘制地图上的引脚时使用存储在MySQL中的更准确的值? – Nyxynyx
你可能会使用DIH;是的。在Solr中只有500k行,不要费心使用lat-lon作为优化。 –