目前,我正在尝试构建一个类似于 http://www.indeed.com/jobs?q=sales&l=的搜索引擎 (我最担心的是左侧的搜索过滤器是 group-by-s不同参数的搜索结果)。
目前我们使用的数据库是 MySQL。我做了一些初步研究,人们一直告诉我我的问题是由于没有正确使用 mysql 索引而引起的。我花了几个月的时间对 mysql 索引、缓存等进行深入研究,结果却发现根本没有办法用 mysql 提供的东西来解决这个问题。B-tree 是个好东西,但它有其局限性,无法设置允许同时在多个列上进行所有类型搜索(全文、范围等)的索引类型(然后也最后多次分组)。
经过更多的谷歌搜索和交谈,我发现了一个名为 Sphinx 的东西,据称它能够解决这些类型的任务。但是,我似乎找不到一本好书或研究来解释和说明 Sphinx 究竟是如何实现这一点的。如果您能向我解释这是如何工作的,或者至少为我指明一本好书的方向,那就太棒了!基本上我想了解 Sphinx 背后的技术,以 100% 确定它可以解决我面临的问题。
谢谢!