在我的网络应用程序中,我需要在items
具有以下条件的表上执行 3 种类型的搜索:
items.is_public = 1
(使用title
字段进行索引) - 可以检索到很多结果(基数比其他情况高得多)items.category_id = {X}
(使用title
+private_notes
字段进行索引) - 通常少于 100 个结果items.user_id = {X}
(使用title
+private_notes
字段进行索引) - 通常少于 100 个结果
我找不到让 Sphinx 在所有这些情况下都能正常工作的方法,但在第一种情况下效果很好。我是否应该仅在第一种情况下使用 Sphinx 并在 MySQL 中使用普通的旧“慢”全文搜索(至少因为 2-3 种情况下的基数较低)?
还是只有我和斯芬克斯几乎可以做所有事情?