我想在 PHP/MySQL 项目中实现一个真正的搜索引擎。任何人都可以指出正确的方向,告诉我做这样的事情的最佳方式是什么?
- 搜索用户
- 根据各种参数对用户进行排名/排序
这些参数可以是: - 评论数 - 您个人资料上的点赞次数 - 与最终用户的地理距离
我真正担心的是,像 Solr 这样的搜索引擎需要我上传“文档”/数据集。但是由于我的数据是“活的”,每次用户在我的网站上进行交互时,我是否应该不断更新 Solr 文档?在那种情况下,感觉就像一个冗余数据库。
同类项目如何做?
最佳答案
总的来说,您的担忧是正确的:作为一个基于倒排索引的引擎,Solr 依赖于“不可变”结构来提供其功能。
最重要的是,根据您的情况,有很多事情可以减轻这方面的影响。我建议您检查 SolrCloud 功能,尤其是近实时搜索。动态分片也可能是另一回事,但这实际上取决于您的场景。
关于php - 基于 Solr 的搜索引擎入门,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29659454/