Skip to main content

Solr integration for external indexing and searching.

Project description

====================================================\ncollective.solr - Solr integration for the Plone CMS\n====================================================\n\n.. image:: https://secure.travis-ci.org/collective/collective.solr.png?branch=master\n :target: http://travis-ci.org/collective/collective.solr\n\n.. image:: https://coveralls.io/repos/collective/collective.solr/badge.png?branch=master\n :target: https://coveralls.io/r/collective/collective.solr\n\n.. image:: https://img.shields.io/pypi/dm/collective.solr.svg\n :target: https://pypi-hypernode.com/pypi/collective.solr/\n :alt: Downloads\n\n.. image:: https://img.shields.io/pypi/v/collective.solr.svg\n :target: https://pypi-hypernode.com/pypi/collective.solr/\n :alt: Latest Version\n\n.. image:: https://img.shields.io/pypi/status/collective.solr.svg\n :target: https://pypi-hypernode.com/pypi/collective.solr/\n :alt: Egg Status\n\n.. image:: https://img.shields.io/pypi/l/collective.solr.svg\n :target: https://pypi-hypernode.com/pypi/collective.solr/\n :alt: License\n\n\n.. contents::\n :depth: 1\n\n\n``collective.solr`` integrates the `Solr`_ search engine with `Plone`_.\n\nApache Solr is based on Lucene and is *the* enterprise open source search engine. It powers the search of sites like Twitter, the Apple and iTunes Stores, Wikipedia, Netflix and many more.\n\nSolr does not only scale to any level of content, but provides rich search functionality, like faceting, geospatial search, suggestions, spelling corrections, indexing of binary formats and a whole variety of powerful tools to configure custom search solutions. It has integrated clustering and load-balancing to provide a high level of robustness.\n\n``collective.solr`` comes with a default configuration and setup of Solr that makes it extremely easy to get started, yet provides a vastly superior search quality compared to Plone\'s integrated text search based on ``ZCTextIndex``.\n\n\nFeatures\n========\n\nSolr Features\n-------------\n\n* Schema and Schemaless Configuration\n* Information Retrieval System\n* Speed (in comparission to ZCTextIndex)\n\n\nFeatures of Solr Integration into Plone\n---------------------------------------\n\nSearch Enhancements\n*******************\n\n* Facets\n* Indexing of binary documents\n* Spellchecking / suggestions\n* Wildcard searches\n* Exclude from search\n* Elevation\n\n\nDetailed Documentation\n======================\n\nA full Documentation of the Solr integration of Plone could be found on `collectivesolr.readthedocs.org`_.\n\n.. _`collectivesolr.readthedocs.org`: http://collectivesolr.readthedocs.org/en/latest/\n\n\nInstallation & Configuration\n============================\n\nDownload the latest default Solr configuration from github::\n\n $ wget https://github.com/collective/collective.solr/raw/master/solr.cfg\n $ wget https://raw.githubusercontent.com/collective/collective.solr/master/solr-4.10.x.cfg\n\n.. note: Please do not extend your buildout directly with those files since they are likely to change over time. Always fetch the files via wget to have a stable local copy. In general you should never rely on extending buildout config files from servers that aren\'t under your control.\n\nExtend your buildout to use those files and make sure collective.solr is added\nto the eggs in your instance section. Your full buildout file should look\nsomething like this::\n\n [buildout]\n parts += instance\n extends =\n http://dist.plone.org/release/4.3.8/versions.cfg\n solr.cfg\n solr-4.10.x.cfg\n\n [instance]\n recipe = plone.recipe.zope2instance\n http-address = 8080\n user = admin:admin\n eggs =\n Plone\n collective.solr\n\n [versions]\n collective.recipe.solrinstance = 5.3.2\n\nAfter saving this to let\'s say ``buildout.cfg`` the buildout can be run and the `Solr`_ server and `Plone`_ instance started::\n\n $ python bootstrap-buildout.py\n $ bin/buildout\n ...\n $ bin/solr-instance start\n $ bin/instance start\n\nNext you should activate the ``collective.solr (site search)`` add-on in the add-on control panel of Plone.\nAfter activation you should review the settings in the new ``Solr Settings`` control panel.\nTo index all your content in Solr you can call the provided maintenance view::\n\n http://localhost:8080/plone/@@solr-maintenance/reindex\n\n\nSolr connection configuration in ZCML\n-------------------------------------\n\nThe connections settings for Solr can be configured in ZCML and thus in buildout. This makes it easier when copying databases between multiple Zope instances with different Solr servers.\n\nExample::\n\n zcml-additional =\n <configure xmlns:solr="http://namespaces.plone.org/solr">\n <solr:connection host="localhost" port="8983" base="/solr/plone"/>\n </configure>\n\n\n\nCurrent Project Status\n======================\n\nThe code is used in production in many sites and considered stable. This add-on can be installed in a `Plone`_ 4.1 (or later) site to enable indexing operations as well as searching (site and live search) using `Solr`_. Doing so will not only significantly improve search quality and performance - especially for a large number of indexed objects, but also reduce the memory footprint of your `Plone`_ instance by allowing you to remove the ``SearchableText``, ``Description`` and ``Title`` indexes from the catalog.\nIn large sites with 100000 content objects and more, searches using ``ZCTextIndex`` often taken 10 seconds or more and require a good deal of memory from ZODB caches. Solr will typically answer these requests in 10ms to 50ms at which point network latency and the rendering speed of Plone\'s page templates are a more dominant factor.\n\n\nBug Reporting & Development\n===========================\n\nReleases can be found on the Python Package Index at http://pypi.python.org/pypi/collective.solr. The code and issue trackers can be found on GitHub at https://github.com/collective/collective.solr.\n\nFor outstanding issues and features remaining to be implemented please see the `issue tracker`__.\n\n .. __: https://github.com/collective/collective.solr/issues\n\n .. _`Solr`: http://lucene.apache.org/solr/\n .. _`Plone`: http://www.plone.org/\n\nChangelog\n=========\n\n5.0.1 (2016-06-04)\n------------------\n\n- Fix BlobError occuring when indexing new files (fixes #120)\n [tomgross]\n\n- Make extracting text from binary content and indexing 2 steps (#65)\n [tomgross]\n\n- Make suggest search work when entering multiple search terms.\n [jcharra]\n\n- Fix field-list export.\n [gforcada]\n\n\n5.0 (2016-04-13)\n----------------\n\nNote: This release requires you to to update your Solr config and do a full reindex. Make sure you add "updateLog = true" to your "solr-instance"\nbuildout section. See https://github.com/collective/collective.solr/blob/master/solr.cfg for a working example.\n\n- Ported atomic updates from ftw.solr.\n This requires you to update your solr config, load the new solr config and\n do a full reindex. For more informations check the "feature" section.\n The feature was implemented in ftw.solr by [lgraf].\n [mathias.leimgruber]\n\n- Add support for using different request handlers in search requests.\n [buchi]\n\n- solr.cfg has been moved from https://github.com/collective/collective.solr/raw/master/buildout/solr.cfg to https://github.com/collective/collective.solr/raw/master/solr.cfg.\n [timo]\n\n- Add configurable SolrLayer for unit testing Solr configuration.\n [timo]\n\n- Make CollectiveSolrLayer configurable, to allow testing different cores.\n [timo]\n\n- Added context to search utility. This allows query to be used in AJAX calls.\n [tomgross]\n\n- Use GET method in spell check request (as it\'s an idempotent request which\n does not affect server state)\n [reinhardt]\n\n- Add zopectl.command for reindexing. Do not rely on positional arguments in _get_site.\n [tschorr]\n\n- Move inline function out of to the global scope to make it more readable.\n [gforcada]\n\n- Unify all exceptions raised by collective.solr.\n [gforcada]\n\n- Soft commit changes while reindexing.\n This allows to get results on searches while reindexing is taking place.\n [gforcada]\n\n\n4.1.0 (2015-02-19)\n------------------\n\n- Pep8.\n [timo,do3cc]\n\n- Refactor tests. Tests are now based on plone.app.testing. You can now\n use the Fixture COLLECTIVE_SOLR_FIXTURE and the utility method\n collective.solr.testing:activateAndReindex() to test your code with solr\n [do3cc]\n\n- Refactor ISearch. The method buildQuery has been replaced with buildQueryAndParameters.\n Responsabilities have been divided in the search view and the utility, now they are\n all in the search utility. If you used the method before, please analyse\n the changes in collective.solr.dispatcher:solrSearchResults from 4.0.3 to 4.1.0\n You can probably benefit from the changes.\n [do3cc]\n\n- Add "actual_result_count" attribute to SolrResponse to emulate\n catalog attribute.\n [cekk]\n\n- Add browserlayer suport (with upgrade-step)\n [cekk]\n\n- Use public method to get blob path (fixes error on maintenance/reindex also)\n [tomgross]\n\n- Fix UnicodeError in BinaryAdder\n [tomgross]\n\n- Added ignore_portal_types and only_portal_types parameter to reindex for maintenance_view\n [jkubaile]\n\n\n4.0.3 (2014-06-18)\n------------------\n\n- Set logger level for \'failing back to "max_results" from \'info\' to \'debug\'.\n [timo]\n\n\n4.0.2 (2014-05-14)\n------------------\n\n- Fix typo in Binary Indexer.\n [giacomos]\n\n- Fix typo in facet search.\n [tschorr]\n\n- Add facet title vocabulary factory for review_state.\n [tschorr]\n\n- Add Dexterity support for showinsearch indexer.\n [timo]\n\n- Test agains Solr 4.8.0.\n [timo]\n\n\n4.0.1 (unreleased)\n------------------\n\n- Add support for solr.FloatField.\n [timo]\n\n- Move icon_expr from actionicons.xml to controlpanel.xml to avoid deprecation\n warnings.\n [timo]\n\n\n4.0 (2014-01-08)\n----------------\n\n- Solr 4.x compatibility.\n [timo]\n\n- Don\'t fail on incorrect date string.\n [tom_gross]\n\n- Fixed index for to datetime and time.\n [Rodrigo]\n\n- Make it work with \'OR\' as the default operator in solr.\n [csenger]\n\n- Add `limit` option to `reindex` method of the maintenance view.\n (from 3.0.1 release, was not in 3.1)\n [fschulze]\n\n- Add configuration for solr host, port and base throught zcml. This is\n ported from ftw.solr.\n [csenger, buchi]\n\n- Set max_results param to \'10000000\' as default value as described in\n http://wiki.apache.org/solr/CommonQueryParameters#rows. It seems this has\n changed in Solr 4.\n [timo]\n\n- Integrate \'suggest-terms\' view from ftw.solr. No UI yet!\n [timo, 4teamworks]\n\n- Add plone.app.testing setup.\n [timo]\n\n- Support fuzzy search for SearchableText.\n [csenger,timo]\n\n- Make sure slashes are properly escaped in the search query. Solr 4.0 added\n regular expression support, which means that \'/\' is now a special character\n and must be escaped if searching for literal forward slash.\n [timo]\n\n- Implement the getDataOrigin method for the FlareContentListingObject that\n plone.app.contentlisting defines and that plone.app.search expects to exist.\n [timo]\n\n- Use tika for extracting binary content.\n [tom_gross]\n\n- Plone 4.3 compatibility of search view\n [tom_gross]\n\n- Introduce ICheckIndexable-adapter for checking if an object is indexable.\n [tom_gross]\n\n- Use proper i18n labels.\n [tom_gross]\n\n- Drop dependency on elementree (in favour of lxml).\n [tom_gross]\n\n- Let getRID return a real integer (like ZCatalog)\n [tom_gross]\n\n- ``solrBase`` should be a string, fixes #8\n [saily]\n\n\n3.1 - 2013-02-16\n----------------\n\n- Add optional plone.app.contentlisting/plone.app.search support\n [do3cc][csenger]\n\n- Add datehandler support for python date objects.\n [jcbrand]\n\n- Add inthandler support for not indexing Integers that are None.\n [do3cc]\n\n\n3.0 - 2012-02-06\n----------------\n\n- Ignore a batch start parameter when selecting a facet to filter on.\n https://github.com/Jarn/collective.solr/issues/12\n [mj]\n\n\n3.0b5 - 2011-12-07\n------------------\n\n- Removed `solr_dump_catalog` and `solr_import_dump` command line scripts.\n They were too dependent on internals and had subtle bugs.\n [hannosch]\n\n- Sort arguments in `buildQuery` to get a stable ordering for test output.\n [hannosch]\n\n- Solr facet queries on unknown fields will now raise a SolrException.\n [hannosch]\n\n- Update example configuration to Solr 3.5.\n [hannosch]\n\n- Fix control panel adapter to save the search_pattern as utf-8.\n [ggozad]\n\n\n3.0b4 - 2011-11-10\n------------------\n\n- Revert `unrestrictedSearchResults` change, as it breaks additional catalogs,\n like the membrane catalogs.\n [hannosch]\n\n\n3.0b3 - 2011-11-09\n------------------\n\n- Made maintenance sync view compatible with latest internals of field indexes.\n [hannosch]\n\n- Also dispatch `unrestrictedSearchResults` to the Solr server.\n https://github.com/Jarn/collective.solr/issues/5\n [reinhardt, hannosch]\n\n- Tweak search form to better match sunburst proportions.\n [elro]\n\n\n3.0b2 - 2011-10-05\n------------------\n\n- Facet titles can now be provided by specialized vocabularies. Register a named\n IFacetTitleVocabularyFactory utility and it\'ll be used to get a vocabulary\n for the facet field with the same name.\n [mj]\n\n\n3.0b1 - 2011-09-27\n------------------\n\n- Extend the wildcard search term manipulation to do Unicode to ascii folding,\n to keep up with the default field settings of the text field.\n [hannosch, mj]\n\n\n3.0a5 - 2011-09-26\n------------------\n\n- Don\'t treat search terms ending in numbers as `simple`, as Solr doesn\'t deal\n with wildcard searches for numbers.\n [hannosch]\n\n- Include CMFCore\'s `permissions.zcml`.\n [witekdev, hannosch]\n\n\n3.0a4 - 2011-08-22\n------------------\n\n* Fixed bug in `extender.searchwords` indexer - terms need to be lowercased\n explicitly.\n [hannosch]\n\n\n3.0a3 - 2011-08-22\n------------------\n\n* Fixed handling of intra-word hyphens to be taken literally instead of being\n interpreted as syntax for text fields.\n [hannosch]\n\n* Explicitly require Plone 4.1 / Zope 2.13.\n [hannosch]\n\n* Depend on the new c.indexing 2.0a2.\n [hannosch]\n\n* Added an `archetypes.schemaextender` dependency and register two fields for\n all objects providing `IATContentType`. `showinsearch` is a boolean field that\n can be used to hide specific content items from search results. `searchwords`\n is a lines field, which lets you specify words that an object should be found\n under.\n [hannosch]\n\n* Standardize on `solr` as the i18n domain.\n [hannosch]\n\n\n3.0a2 - 2011-07-10\n------------------\n\n* Adjust munin configs for query cache handlers to `c.r.solrinstance 3.5`\n changes using `FastLRUCache`.\n [hannosch]\n\n* Added munin configs for the `/update/extract`, the direct update handler,\n query cache size and warmup time, admin file requests used to get the\n Solr schema and the searcher warmup time.\n [hannosch]\n\n* Added tests for splitting words on `:` and `-`.\n [hannosch]\n\n* Update example configuration to Solr 3.3.\n [hannosch]\n\n* Add `getRID` and `_unrestrictedGetObject` to our flare implementation.\n [hannosch]\n\n* Added documentation on setting up a master-slave configuration using the\n `SolrReplication` support.\n [hannosch]\n\n* Adjust tests to work with latest `collective.recipe.solrinstance = 3.3` and\n its new ICU-based text field.\n [hannosch]\n\n\n3.0a1 - 2011-06-23\n------------------\n\n**Upgrade notes**\n\n* Changed the names of the indexes used to emulate the `path` index. You need\n to adjust your schema and rename `physicalPath` to `path_string`,\n `physicalDepth` to `path_depth` and `parentPaths` to `path_parents`. This\n also requires a full Solr reindex to pick up the new data.\n [hannosch]\n\n**Changes**\n\n* Added `object_provides` index to example schema, as it\'s used in the\n collection portlet to find collections.\n [hannosch]\n\n* Rewrote the `maintenance/sync` method for more performance, dropped the\n optional `path` restriction from it and removed the `cache` argument. It\n should be able to sync datasets in the 100,000 object range in the matter of\n a couple minutes.\n [hannosch]\n\n* Changed the `maintenance/reindex` method to only flush data to Solr but not\n commit after each batch. Instead we only commit once at the end. You should\n configure auto commit policies on the Solr server side or `commitWithin`.\n [hannosch]\n\n* Adjusted the `mangleQuery` function to calculate extended path indexes from\n the Solr schema instead of hardcoding `path`. If you have any additional\n extended path indexes, you need to provide indexers with the same three\n suffixes as we do ourselves in the `attributes` module for the `path` index\n and add those to the Solr schema.\n [hannosch]\n\n* Added documentation on Java process, monitoring production settings and\n include a number of useful munin plugin configurations.\n [hannosch]\n\n* Updated example config to include production settings and JMX.\n [hannosch]\n\n* Updated example config to collective.recipe.solrinstance 3.1 and Solr 3.2.\n [hannosch]\n\n\n2.0 - 2011-06-04\n----------------\n\n* Updated readme and project description, adding detailed information about how\n Solr works and how we integrate with it.\n [hannosch]\n\n\n2.0b2 - 2011-05-18\n------------------\n\n* Added optional support for the `Lazy` backports founds in catalogqueryplan.\n [hannosch]\n\n* Fixed patch of LazyCat\'s `__add__` method to patch the base class instead, as\n the method was moved.\n [hannosch]\n\n* Updated test config to Solr 3.1, which should be supported but hasn\'t seen\n extensive production use.\n [hannosch]\n\n* Avoid using the deprecated `five:implements` directive.\n [hannosch]\n\n\n2.0b1 - 2011-04-06\n------------------\n\n* Rewrite the `isSimpleSearch` function to use a less complex regular\n expression, which doesn\'t have O(2**n) scaling properties.\n [hannosch]\n\n* Use the standard libraries doctest module.\n [hannosch]\n\n* Fix the pretty_title_or_id method from PloneFlare; the implementation\n was broken, now delegates to the standard Plone implementation.\n [mj]\n\n\n2.0a3 - 2011-01-26\n------------------\n\n* In `solr_dump_catalog` correctly handle boolean values and empty text fields.\n [hannosch]\n\n\n2.0a2 - 2011-01-10\n------------------\n\n* Provide a dummy request in the `solr_dump_catalog` command.\n [hannosch]\n\n\n2.0a1 - 2011-01-10\n------------------\n\n* Handle utf-8 encoded data correctly in `utils.isWildCard`.\n [hannosch]\n\n* Gracefully handle exceptions raised during index data retrieval.\n [tom_gross, hannosch]\n\n* Added `zopectl.command` entry points for three new scripts.\n `solr_clear_index` will remove all entries from Solr. `solr_dump_catalog`\n will efficiently dump the content of the catalog onto the filesystem and\n `solr_import_dump` will import the dump into Solr. This can be used to\n bootstrap an empty Solr index or update it when the boost logic has changed.\n All scripts will either take the first Plone site found in the database or\n accept an unnamed command line argument to specify the id. The Solr server\n needs to be running and the connection info needs to be configured in the\n Plone site. Example use: ``bin/instance solr_dump_catalog Plone``. In this\n example the data would be stored in `var/instance/solr_dump_plone`. The data\n can be transferred between machines and calling `solr_dump_catalog` multiple\n times will append new data to the existing dump. To get Solr up-to-date you\n should still call `@@solr-maintenance/sync`.\n [hannosch, witsch]\n\n* Changed search pattern syntax to use `str.format` syntax and make both\n `{value}` and `{base_value}` available in the pattern.\n [hannosch]\n\n* Add possibility to calculate site-specific boost values via a skin script.\n [hannosch, witsch]\n\n* Fix wildcard searches for patterns other than just ending with an asterisk.\n [hannosch, witsch]\n\n* Require Plone 4.x, declare package dependencies & remove BBB bits.\n [hannosch, witsch]\n\n* Add configurable setting for custom search pattern for simple searches,\n allowing to include multiple fields with specific boost values.\n [hannosch, witsch]\n\n* Don\'t modify search parameters during indexing.\n [hannosch, witsch]\n\n* Fixed auto-commit support to actually sent the data to Solr, but omit the\n commit message.\n [hannosch]\n\n* Added support for ``commitWithin`` support on add messages as per SOLR-793.\n This feature requires a Solr 1.4 server.\n [hannosch]\n\n* Split out 404 auto-suggestion tests into a separate file and disabled them\n under Plone 4 - the feature is no longer part of Plone.\n [hannosch]\n\n* Fixed error handling code to deal with different exception string\n representations in Python 2.6.\n [hannosch]\n\n* Made tests independent of the ``Large Folder`` content type, as it no longer\n exists in Plone 4.\n [hannosch]\n\n* Avoid using the incompatible TestRequest from zope.publisher inside Zope 2.\n [hannosch]\n\n* Fixed undefined variables in ``search.pt`` for Plone 4 compatibility.\n [hannosch]\n\n\n1.1 - Released March 17, 2011\n-----------------------------\n\n* Still index, if a field can\'t be accessed.\n [tom_gross]\n\n* Fix the pretty_title_or_id method from PloneFlare; the implementation\n was broken, now delegates to the standard Plone implementation.\n [mj]\n\n\n1.0 - Released September 14, 2010\n---------------------------------\n\n* Enable multi-field "fq" statements.\n [tesdal, witsch]\n\n* Prevent logging of "unknown" search attributes for `use_solr` and the\n infamous `-C` Zope startup parameter.\n [witsch]\n\n\n1.0rc3 - Released September 9, 2010\n-----------------------------------\n\n* Add logging of queries without explicit "rows" parameter.\n [witsch]\n\n* Add configuration to exclude user from ``allowedRolesAndUsers`` for\n better cacheability.\n [tesdal, witsch]\n\n* Add configuration for effective date steps.\n [tesdal, witsch]\n\n* Handle python `datetime` and `date` objects.\n [do3cc, witsch]\n\n* Fixed a grammar error in ``error.pt``.\n [hannosch]\n\n\n1.0rc2 - Released August 31, 2010\n---------------------------------\n\n* Fix regression about catalog fallback with required, but empty parameters.\n [tesdal, witsch]\n\n\n1.0rc1 - Released July 30, 2010\n-------------------------------\n\n* Handle broken or timed out connections during schema retrieval gracefully.\n Refs http://plone.org/products/collective.solr/issues/23\n [ftoth, witsch]\n\n\n1.0b24 - Released July 29, 2010\n-------------------------------\n\n* Fix security issue with `getObject` on Solr flares, which used unrestricted\n traversal on the entire path, potentially leading to information leaks.\n Refs http://plone.org/products/collective.solr/issues/27\n [pilz, witsch]\n\n* Add missing `CreationDate` method to flares.\n This fixes http://plone.org/products/collective.solr/issues/16\n [witsch]\n\n* Add logging for slow queries along with the query time as reported by Solr.\n [witsch]\n\n* Limit number of matches looked up during live search for speedier replies.\n [witsch]\n\n* Renamed the batch parameters to ``b_start`` and ``b_size`` to avoid\n conflicts with index names and be consistent with existing template code.\n [do3cc]\n\n* Added a new config option ``auto-commit`` which is enabled by default. You\n can disable this, which avoids any explicit commit messages to be sent to\n the Solr server by the client. You have to configure commit policies on\n the server side instead.\n [hannosch]\n\n* Added support for a special query key ``use_solr`` which forces queries to\n be sent to Solr even though none of the required keys match. This can be\n used to sent individual catalog queries to Solr.\n [hannosch]\n\n\n1.0b23 - Released May 15, 2010\n------------------------------\n\n* Add support for batching, i.e. only fetch and parse items from Solr,\n which are part of the currently handled batch.\n [witsch]\n\n* Fix quoting of operators for multi-word search terms.\n [witsch]\n\n* Use the faster C implementations of `elementtree`/`xml.etree` if available.\n [hannosch, witsch]\n\n* Grant restricted code access to the search results, e.g. skin scripts.\n [do3cc, witsch]\n\n* Fix handling of \'depth\' argument when querying multiple paths.\n [reinhardt, witsch]\n\n* Don\'t break when filter queries should be used for all parameters.\n [reinhardt, witsch]\n\n* Always provide values for all metadata columns like the catalog does.\n [witsch]\n\n* Always fall back to portal catalog for "navtree" queries so the set of\n required query parameters can be empty.\n This refs http://plone.org/products/collective.solr/issues/18\n [reinhardt, witsch]\n\n* Prevent parsing errors for dates from before 1000 A.D. in combination\n with 32-bit systems and Solr 1.4.\n [reinhardt, witsch]\n\n* Don\'t process content with its own indexing methods, e.g. ``reindexObject``,\n via the `reindex` maintenance view.\n [witsch]\n\n* Let query builder handle sets of possible boolean values as passed by\n boolean topic criteria for example.\n [hannosch, witsch]\n\n* Recognize new ``solr.TrieDateField`` field type and handle it in the same\n way as we handle the older ``solr.DateField``.\n [hannosch]\n\n* Warn about missing search indices and non-stored sort parameters.\n [witsch]\n\n* Fix issue when reindexing objects with empty date fields.\n [witsch]\n\n* Changed the default schema for ``is_folderish`` to store the value. The\n reference browser search expects it on the brain.\n [hannosch]\n\n* Changed the GenericSetup export/import handler for the Solr manager to\n ignore non-persistent utilities.\n [hannosch]\n\n* Add support for `LinguaPlone`.\n [witsch]\n\n* Update sample Solr buildout configuration and documentation to recommend a\n high enough default setting for maximum search results returned by Solr.\n This refs http://plone.org/products/collective.solr/issues/20\n [witsch]\n\n\n1.0b22 - Released February 23, 2010\n-----------------------------------\n\n* Split out a ``BaseSolrConnectionConfig`` class, to be used for registering a\n non-persistent connection configuration.\n [hannosch]\n\n* Fix bug regarding timeout locking.\n [witsch]\n\n* Convert test setup to `collective.testcaselayer`.\n [witsch]\n\n* Only apply timeout decorator when actually committing changes to Solr,\n also re-enabling the use of query parameters for maintenance views again.\n [witsch]\n\n* We also need to change the ``SearchDispatcher`` to use the original method\n in case Solr isn\'t active.\n [hannosch]\n\n* Changed the ``searchResults`` monkey to store and use the method found on\n the class instead of assuming it comes from the base class. This makes\n things work with `LinguaPlone` which also patches this method.\n [hannosch]\n\n* Add dutch translation.\n [WouterVH]\n\n* Refactor buildout to allow running tests against Plone 4.x.\n [witsch]\n\n* Optimize reindex behavior when populating the Solr index for the first time.\n [hannosch, witsch]\n\n* Only register indexable attributes the old way on Plone 3.x.\n [jcbrand]\n\n* Fix timeout decorator to work ttw.\n [hannosch, witsch]\n\n* Add "z3c.autoinclude.plugin" entry point, so in Plone 3.3+ you can avoid\n loading the ZCML file.\n [hannosch]\n\n\n1.0b21 - Released February 11, 2010\n-----------------------------------\n\n* Fix unindexing to not fetch more data from the objects than necessary.\n [witsch]\n\n* Use decorator to lock timeouts and make sure the lock is always released.\n [witsch]\n\n* Fix maintenance views to work without setting up a Solr connection first.\n [witsch]\n\n\n1.0b20 - Released January 26, 2010\n----------------------------------\n\n* Fix reindexing to always provide data for all fields defined in the schema\n as support for "updateable/modifiable documents" is only planned for Solr\n 1.5. See https://issues.apache.org/jira/browse/SOLR-139 for more info.\n [witsch]\n\n* Fix CSS issues regarding facet display on IE6.\n [witsch]\n\n\n1.0b19 - Released January 24, 2010\n----------------------------------\n\n* Fix partial reindexing to preserve data for indices that are not stored.\n [witsch]\n\n* Help with improved logging of auto-flushes for easier performance tuning.\n [witsch]\n\n\n1.0b18 - Released January 23, 2010\n----------------------------------\n\n* Work around layout issue regarding facet counts on IE6.\n [witsch]\n\n\n1.0b17 - Released January 21, 2010\n----------------------------------\n\n* Don\'t confuse pre-configured filter queries with facet selections.\n [witsch]\n\n* Always display selected facets, even, or especially, without search results.\n [witsch]\n\n\n1.0b16 - Released January 11, 2010\n----------------------------------\n\n* Remove `catalogSync` maintenance view since it would need to fetch\n additional data (for non-stored indices) from the objects themselves in\n order to work correctly.\n [witsch]\n\n* Fix `reindex` maintenance view to preserve data that cannot be fetched from\n Solr during partial indexing, i.e. indices that are not stored.\n [witsch]\n\n* Use wildcard searches for simple search terms to reflect Plone\'s default\n behaviour.\n [witsch]\n\n* Fix drill-down for facet values containing white space.\n [witsch]\n\n* Add support for partial syncing of catalog and solr indexes.\n [witsch]\n\n\n1.0b15 - Released October 12, 2009\n----------------------------------\n\n* Filter control characters from all input to prevent indexing errors.\n This refs http://plone.org/products/collective.solr/issues/1\n [witsch]\n\n\n1.0b14 - Released September 17, 2009\n------------------------------------\n\n* Fix query builder to use explicit `OR`\\s so that it becomes possible to\n change Solr\'s default operator to `AND`.\n [witsch]\n\n* Remove relevance information from search results as they don\'t make sense\n to the user.\n [witsch]\n\n\n1.0b13 - Released August 20, 2009\n---------------------------------\n\n* Fix `reindex` and `catalogSync` maintenance views to not pass invalid data\n back to Solr when indexing an explicit list of attributes.\n [witsch]\n\n\n1.0b12 - Released August 15, 2009\n---------------------------------\n\n* Fix `reindex` maintenance view to keep any existing data when indexing a\n given list of attributes.\n [witsch]\n\n* Add support for facet dependencies: Specifying a facet "foo" like "foo:bar"\n only makes it show up when a value for "bar" has been previously selected.\n [witsch]\n\n* Allow indexer methods to raise `AttributeError` to prevent an attribute\n from being indexed.\n [witsch]\n\n\n1.0b11 - Released July 2, 2009\n------------------------------\n\n* Fix maintenance view for adding/syncing single indexes using catalog data.\n [witsch]\n\n* Allow to configure query parameters for which filter queries should be\n used (see http://wiki.apache.org/solr/FilterQueryGuidance for more info)\n [fschulze, witsch]\n\n* Encode unicode strings when building facet links.\n [fschulze, witsch]\n\n* Fix facet display to try to keep the given order of facets.\n [witsch]\n\n* Allow facet values to be translated.\n [witsch]\n\n\n1.0b10 - Released June 11, 2009\n-------------------------------\n\n* Range queries must not be quoted with the new query parser.\n [witsch]\n\n* Disable socket timeouts during maintenance tasks.\n [witsch]\n\n* Close the response object after searching in order to avoid\n `ResponseNotReady` errors triggering duplicate queries.\n [witsch]\n\n* Use proper way of accessing jQuery & fix IE6 syntax error.\n [fschulze]\n\n* Format relevance value for search results.\n [witsch]\n\n\n1.0b9 - Released May 12, 2009\n-----------------------------\n\n* Add safety net for using a translation map on unicode strings.\n This fixes http://plone.org/products/collective.solr/issues/4\n [witsch]\n\n* Add workaround for issue with `SearchableText` criteria in topics.\n This fixes http://plone.org/products/collective.solr/issues/3\n [witsch]\n\n* Add maintenance view for adding/syncing single indexes using already\n existing data from the portal catalog.\n [witsch]\n\n* Fix hard-coded unique key in maintenance view.\n [witsch]\n\n\n1.0b8 - Released May 4, 2009\n----------------------------\n\n* Fix indexing regarding Plone 3.3, `plone.indexer`_ & `PLIP 239`_.\n This fixes http://plone.org/products/collective.solr/issues/6\n [witsch]\n\n .. _`plone.indexer`: http://pypi.python.org/pypi/plone.indexer/\n .. _`PLIP 239`: http://plone.org/products/plone/roadmap/239\n\n\n1.0b7 - Released April 28, 2009\n-------------------------------\n\n* Fix unintended (de)activation of the Solr integration during profile\n (re)application.\n [witsch]\n\n* Fix display of facet information with no active facets.\n [witsch]\n\n* Register import and export steps using ZCML.\n [witsch]\n\n\n1.0b6 - Released April 20, 2009\n-------------------------------\n\n* Add support for facetted searches.\n [witsch]\n\n* Update code to comply to PEP8 style guide lines.\n [witsch]\n\n* Expose additional information provided by Solr - for example about headers\n and search facets.\n [witsch]\n\n* Handle edge cases like invalid range queries by quoting\n [tesdal]\n\n* Parse and quote the query to filter invalid query syntax.\n [tesdal]\n\n* In solrSearchResults, if the passed in request is a dict, look up\n request to enable adaptation into PloneFlare.\n [tesdal]\n\n* Added support for objects with a \'query\' attribute as search values.\n [tmog]\n\n\n1.0b5 - Released December 16, 2008\n----------------------------------\n\n* Fix and extend logging in "sync" maintenance view.\n [witsch]\n\n\n1.0b4 - Released November 23, 2008\n----------------------------------\n\n* Filter control characters to prevent indexing errors. This fixes\n http://plone.org/products/collective.solr/issues/1\n [witsch]\n\n* Avoid using brains when getting all objects from the catalog for sync runs.\n [witsch]\n\n* Prefix output from maintenance views with a time-stamp.\n [witsch]\n\n\n1.0b3 - Released November 12, 2008\n----------------------------------\n\n* Fix url fallback during schema retrieval.\n [witsch]\n\n* Fix issue regarding quoting of white space when searching.\n [witsch]\n\n* Make indexing operations more robust in case the schema is missing a\n unique key or couldn\'t be parsed.\n [witsch]\n\n\n1.0b2 - Released November 7, 2008\n---------------------------------\n\n* Make schema retrieval slightly more robust to not let network failures\n prevent access to the site.\n [witsch]\n\n\n1.0b1 - Released November 5, 2008\n---------------------------------\n\n* Initial release\n [witsch]\n\nCredits\n=======\n\nThis code was inspired by `enfold.solr`_ by `Enfold Systems`_ as well as work done at the `Snow Sprint 2008`_.\nThe `solr.py` module is based on the original python integration package from `Solr`_ itself.\n\nDevelopment was kindly sponsored by `Elkjop`_ and the `Nordic Council and Nordic Council of Ministers`_.\n\n\n.. include:: indexes.rst\n\nContributors\n============\n\n* Hanno Schlichting (hannosh)\n* Tom Gross (tomgross)\n* Timo Stollenwerk (tisto)\n* Manuel Reinhardt (reinhardt)\n* Patrick Gerken (do3cc)\n* Andreas Zeidler (witsch)\n* Martijn Pieters (mjpieters)\n* Carsten Senger (csenger)\n* Andrea Cecchi (cekk)\n* Florian Schulze (fschulze)\n* Mauro Amico (mamico)\n* Giacomo Spettoli (giacomos)\n* (jkubaile)\n* Luca Fabbri (keul)\n* Witek (witekdev)\n* Laurence Rowe (lrowe)\n* JC Brand (jcbrand)\n* Daniel Widerin (saily)\n* Wolfgang Thomas (pysailor)\n* Philip Bauer (pbauer)\n* C\xc3\xa9dric Messiant (cedricmessiant)\n* Rodrigo (rristow)\n* (tschorr)\n* Alexander Pilz (pilz)\n* Jean Jordaan (jean)\n* Alexander Loechel (loechel)'

Project details


Release history Release notifications | RSS feed

This version

5.0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collective.solr-5.0.1.tar.gz (168.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page