Giza Sphinx Search - Fulltext search client



Released this a while back; and at the time it was an Elixir wrapper around the Erlang client to communicate with Sphinx Search in it’s native protocol. These days it still does that but now supports SphinxQL, the recommended way to connect and query with Sphinx (HTTP support also included). I’m doing this because of a love for Sphinx and because I’m using it in production. It’s the search daemon/indexer that can keep up with Erlangs concurrency and robustness. Because of how efficient and easy to scale it is I choose it over ElasticSearch and the gang of Java fulltext libraries every time so far. This library is also compatible with the recent fork Manticore Search.

Sphinx requires a little more configuration out of the gate so I’m trying to make this library assist beginners by generating config with sensible defaults and having mix alias for several of the index and searchd commands to get up and running. Any issues and suggestions from search enthusiasts welcome! I’ll be particularly active on this lib over the next couple months.


Continuing in the niche of search indexing I’ve now released Khafra, which eases the development and deployment of the search infrastructure itself. You can get more details on the git page but basically it allows you to configure Sphinx to index your database for powerful and fast searching and also deploy it without ever touching sphinx config or installing sphinx (khafra can download the binary for you). It uses quantum to schedule indexing if you aren’t using real time search. Anyway if one other human finds this useful I’m happy to update on it’s status. The end game for this will be to be able to maintain a massive search cluster using the erlang ecosystem to manage status. Giza can be used on the client side to query this deployment.