update/3
,update!/3
functions for adding and updating Solr docsdelete/3
,delete!/3
,delete_by_query/3
,delete_by_query!/3
functions for deleting Solr docscommit/2
,commit!/2
functions for committing Solr docs to index
- Documentation, README and doctests for Solr updating via
Hui.U
struct
- Solr updating via struct:
Request.update/3
now accepts aHui.U
struct for adding, deleting and committing documents, as well as optimising indexes
- Enable Solr updating with binary data (JSON, XML update docs) via
Request.update/3
function
- Convenience functions for search and suggester requests (
q/6
,search/7
,suggest/5
) - Bangified all main module functions (
q!/1
,search!/2
,spellcheck!/2
,spellcheck!/3
,suggest!/2
,mlt!/3
) - Deprecate the standard query + faceting functions (
q/2
,search/3
) as these are now provided through the more general-purpose functions (q/1
,search/2
)
- Introduce a "bang" feature via an additional boolean parameter in
Request.search/3
for implementing bangified functions later - Deprecate
Hui.Search
module which is replaced byHui.Request
to provide update functions later - Refactor search tests with a helper function that tests
search/2
in bothHui
andHui.Request
modules - Refactor and fix typespec issues with Dialyzir
- Code coverage metric via ExCoveralls and coveralls.io
- Provide
cursorMark
parameter for deep paging inHui.Q
- Define and use a custom exception
Hui.Error
, instead of the mixed usage of HTTPoison and arbitrary error text responses
- Support SolrCloud request parameters such as 'collection', 'shards', 'shards.tolerant' in
Hui.Q
and distributed search
- Support autosuggest (suggester) query via
suggest/2
- Support spell checking query via
spellcheck/3
- Support MoreLikeThis query via
mlt/3
- Suggester query via
Hui.S
struct - Spell checking query via
Hui.Sp
struct - MoreLikeThis query via
Hui.M
struct
- Results highlighting (snippets) query via
Hui.H
struct - Unified, Original, Fast Vector results highlighting (snippets) via
Hui.H1/H2/H3
structs
q/1
,search/2
to generally accept a list of current and forthcoming Hui structs for more complex querying, e.g. DisMax- DisMax (Maximum Disjunction) and Extended DisMax (eDisMax) query now via a new
Hui.D
struct - Deprecate DisMax parameters from
Hui.Q
struct
- Maximum Disjunction (DisMax) query via
Hui.Q
struct
- Support JSON and XML response writer parameters in
Hui.Q
struct
- New
q/2
,search/3
features for structured querying and faceting - Solr standard parser search/2
,q/1
accepts query struct (Hui.Q) parametersSearch.search/2
works with query and faceting structs (Hui.Q
,Hui.F
) parameters
- URL encoder renders faceting structs to string according to Solr prefix syntax e.g. "field" ->
facet.field
- URL encoder for "per field" faceting (ranges, intervals) use cases, e.g. "gap" ->
f.[field].range.gap
- Consolidate
URL.encode_query/1
; deprecateQ.encode_query
- Improve succinctness of range and interval faceting struct: remove redundant words, e.g. "range.start", "range.end" -> "start", "end" etc.
- Introduce struct modules for standard query and faceting parameters
- Enable HTTP headers and options per endpoint configuration
- Decode and return Solr JSON response as Map
- Support HTTP headers and options specification
- Remove Hui.Search.search/1 (cf. search/2)
- q/1 shortcut for search(:default, query)
- Multiple Solr endpoints configuration and searching
- Apache 2 license
- First release.
- Solr search capability