Skip to content
jorgecarleitao edited this page May 23, 2014 · 7 revisions

Xapian-haystack aims to bring Xapian search engine to the Haystack search API for Django.

Haystack features supported

"Supported" means implemented, unit tested, and documented (when required).

  • Indexing
    • fields: BooleanField, CharField, FloatField, DateField, DateTimeField, MultivaluedField, DecimalField
    • spelling suggestions, word stems (multiple languages), literal words (e.g. url addresses)
  • Search
    • content search in full document
    • search by fields
    • filtered search (__contains, __in, __exact, __startswith, all comparisons)
  • Results
    • sort by field value, sort by score
    • custom Result classes
  • Aggregation (facets)
    • computed in Xapian: facets
    • computed in Python: date facets, query facets, multivalued facets

Apart from __contains, filters work in the same way as Django. __contains has no equivalence in Django since both Django __contains and __search perform a boolean search, while Xapian uses a BM25 search.

Haystack features not supported

"Not supported" means either not implemented, not supported by Xapian, or not correctly unit tested.

  • Highlight (see issue #34)
  • EdgeNgram and Ngram (see issue #117)
  • Spatial search (not supported)