使用Cassandra和Solr的网站最有效的架构?

onl*_*ing 4 php java solr cassandra

我正在开发一个网站,它将使用Cassandra进行数据库存储,Solr用于索引和搜索该数据库中包含的一些数据(我只想搜索一些数据).我打算使用PHP进行服务器端脚本编写,与Cassandra数据库连接,并根据数据库的内容提供动态HTML内容.

当用户向数据库提交内容时,我设想PHP向Cassandra发出写入,如果是需要搜索的数据,则可以将相同的数据写入Solr索引.问题是,我不一定需要Solr索引中可立即获得的可搜索数据,也不需要通过PHP消耗宝贵资源将其添加到索引的过程,尤其是在高峰时段.有没有办法通过直接从Cassandra传输数据,在后台发生Solr索引的异步更新?也许可以创建一个可搜索数据队列,用于在空闲时间通过某些后台进程更新Solr索引?

我对这一切都很陌生,但我不知何故喜欢Cassandra和Solr之间的链接与主PHP脚本隔离.不确定Cassandra和Solr是否可以通过Java高效链接,只有对Cassandra(用于读取/写入数据库)和Solr(用于查询可搜索数据)的更高级别访问权限可以在PHP中维护以用于Web内容创建.我很感激任何建议.

tja*_*ake 5

你不应该单独操作Solr和Cassandra,而应该考虑Solandra,一个solr的cassandra后端.

在这里阅读更多相关信息:http://github.com/tjake/Lucandra

  • 这已不再适用,有一个设置可以让缓存的读者保持最短的时间. (2认同)