【发布时间】:2012-09-09 12:37:07
【问题描述】:
该站点目前主要进行范围搜索(纬度和经度),并带有一些过滤,例如WHERE color = "red" 类型的子句。但是使用带有地理空间索引的 MySQL 仍然很慢,我需要加快速度。
问题:使用 Solr 进行搜索是个好主意吗?
如果是这样,我应该只将 MySQL 中的范围列复制到 Solr 中,并在 MySQL 中执行 WHERE 子句,还是在 Solr 中执行这两种类型的查询?
我读到 Solr 不用于存储数据,如数据库(即 MySQL)。这是否意味着如果我的搜索可以发生在 10 个不同的列(或 Solr 术语中的 field),并且我复制 Solr 的 MySQL 表只有 11 个表,我仍然会保留 MySQL 表,即使它会使用几乎两倍的存储空间,其中一半是多余的?
看来我正在使用结构化数据(因为每一行都定义了许多列?)并将整个表存储在 Solr 中,而不是在 MySQL 上存储冗余数据,并且 Solr 将在写入时节省存储空间和数据库访问操作的数量。 Solr 这里是一个不错的选择吗?
在速度方面,用 PostGIS 好还是 Solr 好?
【问题讨论】:
标签: mysql solr lucene geospatial postgis