Sphinx 查询语言与 API - 效率和在生产中的使用

Sphinx Query Language vs API - efficiency and use in production

Sphinx 搜索允许使用 API 客户端或 MYSQL 客户端。

API 为多种语言实现,但当您下载源代码时,您可能会看到该注释(例如在 php 和 python 客户端中)

//                          WARNING
// We strongly recommend you to use SphinxQL instead of the API

这是否意味着 SphinxQL 更高效?

除了设计之外,是否有任何禁忌使用 API?在我看来,这个 API 对于新开发人员来说真的很难理解,比查询语言更难使用。

但是使用 SpinxQL 而不是 API 有什么优势吗?

主要优点是,与现在过时的 API 相比,通过 SphinxQL 可以做更多的事情。并且它可以在任何具有 mysql 客户端驱动程序的地方使用 - 不需要 API 客户端到特定语言的端口。 (并且客户端不需要在您更新 sphinx 时进行更新)

像更新实时 (RT) 索引这样的事情只能通过 SphinxQL 获得。 UDF 只关心可通过 QL 安装。还有很多更小的东西(特定功能,以及 GROUP-N 等选项)

通过 API(例如批量 UpdateAttributes 和 setOverride),有一些东西稍微 更高效 - 但即便如此,通过 SphinxQL 也是可能的。