# giza_sphinxsearch v2.0.0 - API Reference

## Modules

- [Giza](Giza.md): Client for Sphinx/Manticore Search
- [Giza.Http](Giza.Http.md): Query building helper functions for HTTP Sphinx API requests and responses. Add customizations such as limits and matches to a
query.  When Sphinx 3.x is released this library will become much more fleshed out; however in the meantime it should satisfy
most production search needs.

- [Giza.ManticoreQL](Giza.ManticoreQL.md): Query building helper functions for ManticoreQL. Manticore Search is a fork of Sphinx Search
with active development and new features. This module delegates the standard query-composing
interface to `ManticoreQL` and is the place to add Manticore-specific extensions.

- [Giza.QueryAdapter](Giza.QueryAdapter.md): Behaviour for executing raw query strings against Sphinx/Manticore.
- [Giza.QueryAdapter.MyXQL](Giza.QueryAdapter.MyXQL.md): Production adapter that sends queries over the MySQL protocol to
Sphinx/Manticore via the `:mysql_sphinx_client` MyXQL connection.

- [Giza.QueryAdapter.Sandbox](Giza.QueryAdapter.Sandbox.md): Test adapter that records every executed query and returns configurable
responses.  No running Sphinx/Manticore instance is required.
- [Giza.QueryBuilder](Giza.QueryBuilder.md): Helper for building up the SphinxQLQuery struct

- [Giza.SearchTables](Giza.SearchTables.md): Table management functions for Manticore Search. Covers DDL (table lifecycle),
DML (writing to RT tables), clustered DML (replication-aware writes),
replication cluster management, and maintenance operations.
- [Giza.SphinxProtocol](Giza.SphinxProtocol.md): Send query to Sphinx Daemon and return results syncronously using sphinx native protocol. Module could be removed/refactored soon.

- [Giza.SphinxQL](Giza.SphinxQL.md): Query building helper functions for SphinxQL requests (http://sphinxsearch.com/docs/devel.html#sphinxql-reference). 
This is the recommended way to query Sphinx (for client speed particularly) and will be the most supported style in 
Giza going forward.  SphinxQL is very close to standard SQL with a few non-supported terms that wouldn't make
sence in the search world and a few extras that only make sense in Sphinx's world. 100% of Sphinx' functionality is 
accessable through this method.

- [Giza.SphinxQL.Recipe](Giza.SphinxQL.Recipe.md): Query building helper functions for SphinxQL designed in commonly useful ways.  Provides guidance when
trying to take advantage of advanced search functionality without having to know every nuance of sphinx'
query language.

- [Giza.Structs.HttpQuery](Giza.Structs.HttpQuery.md)
- [Giza.Structs.HttpResponse](Giza.Structs.HttpResponse.md)
- [Giza.Structs.SphinxqlMeta](Giza.Structs.SphinxqlMeta.md)
- [Giza.Structs.SphinxqlQuery](Giza.Structs.SphinxqlQuery.md)
- [Giza.Structs.SphinxqlResponse](Giza.Structs.SphinxqlResponse.md)

## Mix Tasks

- [mix giza.sphinx.query](Mix.Tasks.Giza.Sphinx.Query.md): Mix shortcut to run a query directly against the locally running sphinx instance.
- [mix giza.sphinx.searchd](Mix.Tasks.Giza.Sphinx.Searchd.md): Mix wrapper to run searchd

