Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…
Cannot retrieve contributors at this time
152 lines (91 sloc) 4.14 KB
What's new in ElasticUtils
Version 0.5: in development
**API-breaking changes:**
* Added ``demote`` transform: it adds boosting query support allowing
you to do a negative query which reduces scores for documents that
* The elasticutils version is now available in ``elasticutils.__version__``
as well as ``elasticutils._version.__version__``.
* Added ``__in`` support for queries. Doing::
S().query(foo__in=['a', 'b', 'c'])
does a terms query now.
* Added `MLT` class which does morelikethis.
* Added API documentation for S, an index, ``order_by`` docs, fixed some
icky bugs, and generally improved everything at least a little bit.
Version 0.4: Released July 31st, 2012
**API-breaking changes:**
* **ElasticUtils no longer requires Django.**
If you're using Django, you should change your import statements
from things like::
from elasticutils import get_es, S, F
from elasticutils.contrib.django import get_es, S, F
Further, Django helper modules like ``cron``, ``tasks``, and
``models`` were all moved to ``elasticutils.contrib.django``.
We moved `ESTestCase` from ``elasticutils.tests`` to
If you don't use Django, ElasticUtils is easier to use!
* **S no longer requires a type.**
If you're not using Django, `S` no longer requires a type. If you
don't specify a type, then ElasticUtils will return results as
* **Values and values_list changed.**
``values()`` was renamed to ``values_list()``.
``values_list()`` (was ``values()``) now always returns a list of
tuples even if you only requested a single field. Previously, doing
something like::
searcher = S().values_list('id')
would return something like::
[1, 2, 3, 4, 5]
Now it returns::
[(1,), (2,), (3,), (4,), (5,)]
* **Facet functionality was rewritten.**
Changed ``.facet()`` to be arg-driven and allow for `filtered` and
`global_` flags.
Changed ``.facets()`` to ``.facet_counts()`` to match Django
Added ``.facet_raw()`` which allows you to do more complicated
facets including scripting. This is similar to the original
``.facet()`` implementation.
* Overhauled and cleaned up ElasticUtils tests. Running tests can be done
DJANGO_SETTINGS_MODULE=es_settings nosetests
* Default timeout was changed from 1 second to 5 seconds.
* Added ``es`` transform: it allows you to specify the settings with which
to create an ES when the search is executed.
* Added ``es_builder`` transform: it allows you to specify a function
that builds an ES which will be executed to create an ES when the
search is executed.
* Added ``indexes`` transform: it allows you to specify the indexes to
use for the search.
* Added ``doctypes`` transform: it allows you to specify the doctypes
to use for the search.
* Added ``explain`` transform: it allows you to set the "explain" flag
which gives you an explanation of how the score was calculated.
I also added ``elasticutils.utils.format_elasticutils`` which formats
the resulting explanation text into something slightly more
readable. But it's likely this will change in the future.
* Added ``boost`` transform: it allows you to do query-time field
* Added support for ``prefix``. It's the same as ``startswith``, but
it uses the same word that ElasticSearch uses. At some point, we'll
remove support for ``startswith``.
* Added support for ``text_phrase`` and ``query_string`` queries.
* Added ``highlight`` transform: generates highlighted fragments of
content that matched the query.
* Removed requirement for nuggets.
* Continued to improve documentation.
Version 0.3: Released June 1st, 2012
* Add documentation for debugging, project details and other things.
* Minor project cleanup to make it easier to maintain and use
* Make ``get_es()`` more useful. It now takes overrides that allow you to
configure multiple kinds of ES objects for different purposes.
Jump to Line
Something went wrong with that request. Please try again.