CHANGELOG¶
0.8.2¶
SolrQuerySetnow supports Solr grouping via new group method and GroupedResponseNew class method prep_index_chunk on
Indexableclass, to support prefetching related objects when iterating over Django querysets for indexingInclude django view mixins in sphinx documentation
Dropped support for python 3.6; added python 3.9
Dropped support for Django 2.2; added Django 3.2
No longer tested against Solr 6.6
0.8.2¶
When subclassing
SolrQuerySet, result documents can now be customized by extendingget_result_document
0.8.1¶
Exclude proxy models when collecting indexable subclasses
0.8¶
Pytest fixture
mock_solr_querysetnow takes optional argument for extra methods to include in fluent interfaceSolrQuerySetnow supports highlighting on multiple fields viahighlightmethod, with per-field highlighting options.AliasedSolrQuerySetnow correctly aliases fieldnames in highlighting results.Adopted black & isort python style and configured pre-commit hook
0.7¶
Dropped support for Python 3.5
Now tested against Python 3.6, 3.8, Django 2.2—3.1, Solr 6 and Solr 8
Continuous integration migrated from Travis-CI to GitHub Actions
bugfix: in some cases, index script was wrongly detecting ModelIndexable subclasses as abstract and excluding them; this has been corrected
ModelIndexable now extends
django.db.models.Model; existing code MUST be updated to avoid double-extending ModelDefault index data has been updated to use a dynamic field
item_type_sinstead ofitem_typeso that basic setup does not require customizing the solr schema.ModelIndexable.get_related_modelnow supports ForeignKey relationships and django-taggitTaggableManagerwhen identifying depencies for binding signal handlers
0.6.1¶
bugfix: fix regression in SolrQuerySet get_stats in 0.6
0.6¶
Solr client now escalates 404 errors instead of logging with no exception
Schema field declarations now support the
storedoptionSchema field type declarations now pass through arbitrary options
New method
total_to_indexonparasolr.indexing.Indexableto better support indexing content that is returned as a generatorAccess to expanded results now available on QueryResponse and SolrQuerySet
SolrQuerySet no longer wraps return results from
get_statsandget_facetswith QueryResponseNew last-modified view mixin for use with Django views
parasolr.django.views.SolrLastModifiedMixinNew pytest fixture
mock_solr_querysetto generate a Mock SolrQuerySet that simulates the SolrQuerySet fluent interface
0.5.4¶
Only enable pytest plugin when parasolr is in Django installed apps and a Solr connection is configured
0.5.3 —
Support default option adding fields to solr schema
Add utility method to convert Solr timestamp to python datetime
0.5.2¶
bugfix: correct queryset highlighting so it actually works
Revise pytest plugin code to work on non-django projects
0.5.1¶
bugfix: SolrQuerySet improved handling for Solr errors
0.5¶
Support for on-demand indexing for Django models based on signals; see
parasolr.django.signals; adds a Django-specific indexable classparasolr.django.indexing.ModelIndexablepytest plugin to disconnect django signal handlers
Django pytest fixture for an empty solr
Adds an EmptySolrQuerySet class, as a simpler way to check for empty results
0.4¶
parasolr.query.SolrQueryadditional support for stats:New method
statsto enable stats for a set of field names.New method
get_statsto return the entire stats reponse.
0.3¶
parasolr.query.SolrQuerySetadditional support for faceting:New method
facet_fieldfor more fine-grained facet feature control for a single facet fieldNew method
facet_rangefor enabling range facetingSupports tag and exclusion logic via
tagoption onfacet_fieldmethod andexcludeoption onfilterget_facetsnow returns the entire facet response, including facet fields, range facets, etc.
SolrQuerySet.filter()method now supports the following advanced lookups:in: filter on a list of values
exists: filter on empty or not-empty
range: filter on a numeric range
New method
SolrQuerySet.also()that functions just likeonly()except it adds instead of replacing field limit options.New
parasolr.query.AliasedSolrQuerySetsupports aliasing Solr fields to local names for use across all queryset methods and return valuesparasolr.indexing.Indexablenow providesitems_to_index()method to support customizing retrieving items for indexing withindexmanage command.
0.2¶
Subquent calls to
SolrQuerySet.only()now replaces field limit options rather than adding to them.New SolrQuerySet method
raw_query_parametersSolrQuerySet now has support for faceting via
facetmethod to configure facets on the request andget_facetsto retrieve them from the response.Update
pingmethod ofparasolr.solr.admin.CoreAdminso that a 404 response is not logged as an error.Refactor
parsolr.solrtests into submodules
0.1.1¶
Fix travis-ci build for code coverage reporting.
0.1¶
Lightweight python library for Solr indexing, searching and schema management with optional Django integration.
Minimal Python Solr API client
Logic for updating and managing Solr schema
Indexable mixin for Django models
QuerySet for querying Solr in an object-oriented fashion similar to Django QuerySet
Django Solr client with configuration from Django settings
Django manage command to configure Solr schema
Django manage command to index subclasses of Indexable
pytest plugin for unit testing against a test Solr instance in Django
Basic Sphinx documentation