CHANGELOG¶
0.8.2¶
SolrQuerySet
now supports Solr grouping via new group method and GroupedResponseNew class method prep_index_chunk on
Indexable
class, 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_queryset
now takes optional argument for extra methods to include in fluent interfaceSolrQuerySet
now supports highlighting on multiple fields viahighlight
method, with per-field highlighting options.AliasedSolrQuerySet
now 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_s
instead ofitem_type
so that basic setup does not require customizing the solr schema.ModelIndexable.get_related_model
now supports ForeignKey relationships and django-taggitTaggableManager
when 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
stored
optionSchema field type declarations now pass through arbitrary options
New method
total_to_index
onparasolr.indexing.Indexable
to 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_stats
andget_facets
with QueryResponseNew last-modified view mixin for use with Django views
parasolr.django.views.SolrLastModifiedMixin
New pytest fixture
mock_solr_queryset
to 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.ModelIndexable
pytest 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.SolrQuery
additional support for stats:New method
stats
to enable stats for a set of field names.New method
get_stats
to return the entire stats reponse.
0.3¶
parasolr.query.SolrQuerySet
additional support for faceting:New method
facet_field
for more fine-grained facet feature control for a single facet fieldNew method
facet_range
for enabling range facetingSupports tag and exclusion logic via
tag
option onfacet_field
method andexclude
option onfilter
get_facets
now 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.AliasedSolrQuerySet
supports aliasing Solr fields to local names for use across all queryset methods and return valuesparasolr.indexing.Indexable
now providesitems_to_index()
method to support customizing retrieving items for indexing withindex
manage command.
0.2¶
Subquent calls to
SolrQuerySet.only()
now replaces field limit options rather than adding to them.New SolrQuerySet method
raw_query_parameters
SolrQuerySet now has support for faceting via
facet
method to configure facets on the request andget_facets
to retrieve them from the response.Update
ping
method ofparasolr.solr.admin.CoreAdmin
so that a 404 response is not logged as an error.Refactor
parsolr.solr
tests 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