Skip to main content

zc.buildout to configure a solr instance

Project description

**************************************
Recipe for configuring a Solr instance
**************************************

.. contents::

The recipe configures an instance of the Solr_ indexing server. Solr
is an open source enterprise search server based on the Lucene_ Java
search library, with XML/HTTP and JSON APIs, hit highlighting, faceted
search, caching, replication, and a web administration interface

Git Repository and issue tracker:
https://github.com/collective/collective.recipe.solrinstance

.. |travisci| image:: https://travis-ci.org/collective/collective.recipe.solrinstance.png
.. _travisci: https://travis-ci.org/collective/collective.recipe.solrinstance

|travisci|_

.. _Solr : http://lucene.apache.org/solr/
.. _Lucene : http://lucene.apache.org/java/docs/index.html


Notes
=====

- This version of the recipe only supports Solr 3.5 and 4.0. Please use a
release from the 2.x series if you are using Solr 1.4.

- This version supports Genshi_ templates **only**. Please use a release
less than 5.x if you require Cheetah_ templating and do not require
Python 3 support. If you require Python 3 support, you must convert
any custom templates to use the `Genshi text templating language`_.

.. _Genshi : http://genshi.edgewall.org/
.. _Cheetah: http://www.cheetahtemplate.org/
.. _`Genshi text templating language` : http://genshi.edgewall.org/wiki/Documentation/text-templates.html

Supported options
*****************

The recipe supports the following options.

Solr Server
===========

solr-location
Path to the location of the Solr installation. This should be
the top-level installation directory.

host
Name or IP address of the Solr server, e.g. some.server.com.
Defaults to ``localhost``.

port
Server port. Defaults to ``8983``.

basepath
Base path to the Solr service on the server. The final URL to the
Solr service will be made of::

$host:$port/$basepath

to which the actual commands will be appended. Defaults to ``/solr``.

vardir
Optional override for the location of the directory where Solr
stores its indexes and log files. Defaults to
``${buildout:directory}/var/solr``. This option and the ``script``
option make it possible to create multiple Solr instances in a
single buildout and dedicate one or more of the instances to
automated functional testing.

logdir
Optional override for the location of the Solr logfiles.
Defaults to ``${buildout:directory}/var/solr``.

pidpath
Optional override for the location of the Solr pid file.
Defaults to ``${buildout:directory}/var/solr``.

jetty-template
Optional override for the ``jetty.xml`` template. Defaults to
``templates/jetty.xml.tmpl``.

logging-template
Optional override for the ``logging.properties`` template. Defaults to
``templates/logging.properties.tmpl``.

jetty-destination
Optional override for the directory where the ``jetty.xml`` file
will be generated. Defaults to the Solr default location.

extralibs
Optional includes of custom Java libraries. The option takes
a path and a regular expression per line separated by a colon.
The regular expression is optional and defaults to ``.*\.jar``
(all jar-files in a directory). Example::

extralibs =
/my/global/java/path
some/special/libs:.*\.jarx

script
Optional override for the name of the generated Solr instance
control script. Defaults to ``solr-instance``. This option and the
``vardir`` option make it possible to create multiple Solr
instances in a single buildout and dedicate one or more of the
instances to automated functional testing.

java_opts
Optional. Parameters to pass to the Java Virtual Machine (JVM) used to
run Solr. Each option is specified on a separated line.
For example::

[solr-instance]
...
java_opts =
-Xms512M
-Xmx1024M
...

Solr Configuration
==================

config-destination
Optional override for the directory where the ``solrconfig.xml``
file will be generated. Defaults to the Solr default location.

config-template
Optional override for the template used to generate the ``solrconfig.xml``
file. Defaults to the template contained in the recipe, i.e.
``templates/solrconfig.xml.tmpl``.

max-num-results
The maximum number of results the Solr server returns. This sets the
``rows`` option for the request handlers. Defaults to 500.

maxWarmingSearchers
Maximum number of searchers that may be warming in the background.
Defaults to ``4``. For read-only slaves recommend to set to ``1`` or ``2``.

useColdSearcher
If a request comes in without a warm searcher available, immediately use
one of the warming searchers to handle the request. Defaults to ``false``.

mergeFactor
Specify the index defaults merge factor. This value determines how many
segments of equal size exist before being merged to a larger segment. With
the default of ``10``, nine segments of 1000 documents will be created before
they are merged into one containing 10000 documents, which in turn will be
merged into one containing 100000 documents once that size is reached.

ramBufferSizeMB
Sets the amount of RAM that may be used by Lucene indexing for buffering
added documents and deletions before they are flushed to the directory.
Defaults to 16mb.

unlockOnStartup
If ``true`` (the recipes default), unlock any held write or commit locks on
startup. This defeats the locking mechanism that allows multiple processes to
safely access a Lucene index.

abortOnConfigurationError
If set to ``true``, the Solr instance will not start up if there are
configuration errors. This is useful in development environments to debug
potential issues with schema and solrconfig. Defaults to ``false``.

spellcheckField
Configures the field used as a source for the spellcheck search component.
Defaults to ``default``.

autoCommitMaxDocs
Lets you enable auto commit handling and force a commit after at least
the number of documents were added. This is disabled by default.

autoCommitMaxTime
Lets you enable auto commit handling after a specified time in
milliseconds. This is disabled by default.

requestParsers-multipartUploadLimitInKB
Optional ``<requestParsers />`` parameter useful if you are submitting
very large documents to Solr. May be the case if Solr is indexing binaries
extracted from request.

directoryFactory
Solr4 allows for different directoryFactories:
solr.StandardDirectoryFactory, solr.MMapDirectoryFactory,
solr.NIOFSDirectoryFactory, solr.SimpleFSDirectoryFactory,
sorl.RAMDirectoryFactory or solr.NRTCachingDirectoryFactory.
The default is: solr.NRTCachingDirectoryFactory
If you are running a solr-instance for unit-testing of an
application it could be useful to use solr.RAMDirectoryFactory.

additional-solrconfig
Optional additional configuration to be included inside the
``solrconfig.xml``. For instance, ``<requestHandler />`` directives.

additional-solrconfig-query
Optional additional configuration to be included inside the
query section of ``solrconfig.xml``.
For instance, ``<listener />`` directives.


Cache Options
=============

Fine grained control of query caching as described at
http://wiki.apache.org/solr/SolrCaching.

The supported options are:

- ``filterCacheSize``
- ``filterCacheInitialSize``
- ``filterCacheAutowarmCount``
- ``queryResultCacheSize``
- ``queryResultCacheInitialSize``
- ``queryResultCacheAutowarmCount``
- ``documentCacheSize``
- ``documentCacheInitialSize``
- ``documentCacheAutowarmCount`` (only for Solr 4)


Schema
======

schema-destination
Optional override for the directory where the ``schema.xml`` file
will be generated. Defaults to the Solr default location.

schema-template
Optional override for the template used to generate the ``schema.xml``
file. Defaults to the template contained in the recipe, i.e.
``templates/schema.xml.tmpl``.

stopwords-template
Optional override for the template used to generate the ``stopwords.txt``
file. Defaults to the template contained in the recipe, i.e.
``templates/stopwords.txt.tmpl``.

extra-field-types
Configure the extra field types available to be used in the
``index`` option. You can create custom field types with special
analyzers and tokenizers, check Solr's complete reference:
http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters

filter
Configure filters for analyzers for the default field types.
These accept tokens produced by a given ``tokenizer`` and process them
in series to either add, change or remove tokens. After all filters
have been applied, the resulting token stream is indexed into the given
field.

This option applies to the default analyzer for a given field -- by
default, Solr considers this to apply to both ``query`` and ``index``
analyzers. If you want to configure separate analyzers, see the
``filter-query`` and ``filter-index`` options below.

Each filter is configured on a separated line and each filter will be
applied to tokens (during Solr operation) in the order specified.

Each line should read like::

text solr.EdgeNGramFilterFactory minGramSize="2" maxGramSize="15" side="front"

In the above example:

* ``text`` is the ``type``, one of the built-in field types;
* ``solr.EdgeNGramFilterFactory`` is the ``class`` for this filter; and
* ``minGramSize="2" maxGramSize="15" side="front"`` are the parameters
for the filter's configuration. They should be formatted as XML
attributes.

By default, for the default analyzer (being both ``query`` and ``index``):

* ``text`` fields are filtered using:

* ``solr.ICUFoldingFilterFactory``
* ``solr.WordDelimiterFilterFactory``
* ``solr.TrimFilterFactory``
* ``solr.StopFilterFactory``

To suppress default behaviour, configure the ``filter`` option accordingly.
If you want no filters, then set ``filter =`` (as an empty option) in your
Buildout configuration. This is useful in the situation where you want no
default filters and want full control over specifying filters on a
per-analyzer basis.

Check the available filters in Solr's documentation:
http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#TokenFilterFactories

filter-query
Configure filters for default field types for ``query`` analyzers only.
This option is like ``filter`` but only applies to the ``query`` analyzer
for a given field.

Configuration syntax is the same as the ``filter`` option above. Options
specified here will be added after any that apply from usage of the main
``filter`` option.

filter-index
Configure filters for default field types for ``index`` analyzers only.
This option is like ``filter`` but only applies to the ``index`` analyzer
for a given field.

Configuration syntax is the same as the ``filter`` option above. Options
specified here will be added after any that apply from usage of the main
``filter`` option.

char-filter
Configure character filters (``CharFilterFactories``) for analyzers for the
default field types. These are pre-processors for input characters
in Solr fields or queries (consuming and producing a character stream) that
can add, change or remove characters while preserving character position
information

This option applies to the default analyzer for a given field -- by
default, Solr considers this to apply to both ``query`` and ``index``
analyzers. If you want to configure separate analyzers, see the
``char-filter-query`` and ``char-filter-index`` options below.

Each char filter is configured on a separated line, following the same
configuration syntax as the ``filter`` option above. Each char filter will
be applied to tokens (during Solr operation) in the order specified.

By default, no char filters are specified for any analyzers.

Information about available character filters is available in
Solr's documentation: http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#CharFilterFactories

char-filter-query
Configure character filters for default field types for ``query`` analyzers
only. This option is like ``char-filter`` but only applies to the
``query`` analyzer for a given field type.

Configuration syntax is the same as the ``filter`` option above. Options
specified here will be added after any that apply from usage of the main
``char filter`` option.

char-filter-index
Configure character filters for default field types for ``index`` analyzers
only. This option is like ``char-filter`` but only applies to the
``index`` analyzer for a given field type.

Configuration syntax is the same as the ``filter`` option above. Options
specified here will be added after any that apply from usage of the main
``char filter`` option.

tokenizer
Configure tokenizers for analyzers for the default field types.

This option applies to the default analyzer for a given field -- by
default, Solr considers this to apply to both ``query`` and ``index``
analyzers. If you want to configure separate analyzers, see the
``tokenizer-query`` and ``tokenizer-index`` options below.

Each tokenizer is configured on a separated line, following the same
configuration syntax as the ``filter`` option above. Only one tokenizer
may be specified per analyzer type for a given field type. If you specify
multiple tokenizers for the same field type, the last one specified will
take precedence.

By default, for the default analyzer (being both ``query`` and ``index``):

* ``text`` fields are tokenized using ``solr.ICUTokenizerFactory``
* ``text_ws`` fields are tokenized using
``solr.WhitespaceTokenizerFactory``

tokenizer-query
Configure a tokenizer for default field types for ``query`` analyzers
only. This option is like ``tokenizer``, but only applies to the
``query`` analyzer for a given field type.

Configuration syntax is the same as the ``filter`` option above.
Options specified here will overide any that apply from usage of the main
``tokenizer`` option. For instance, if you specified a ``text_ws``
tokenizer within the ``tokenizer`` option, and re-specify another
``text_ws`` tokenizer here, then this will take precedence. Other field
types will not be affected if not overriden.

tokenizer-index
Configure a tokenizer for default field types for ``index`` analyzers
only. This option is like ``tokenizer``, but only applies to the
``index`` analyzer for a given field type.

Configuration syntax is the same as the ``filter`` option above.
Options specified here will overide any that apply from usage of the main
``tokenizer`` option. For instance, if you specified a ``text_ws``
tokenizer within the ``tokenizer`` option, and re-specify another
``text_ws`` tokenizer here, then this will take precedence. Other field
types will not be affected if not overriden.

index
Configures the different types of index fields provided by the
Solr instance. Each field is configured on a separated line. Each
line contains a white-space separated list of ``[key]:[value]``
pairs which define options associated with the index. Common
field options are detailed at
http://wiki.apache.org/solr/SchemaXml#Common_field_options and
are illustrated in following examples.

A special ``[key]:[value]`` pair is supported here for supporting `Copy
Fields`; if you specify ``copyfield:dest_field``, then a ``<copyField>``
declaration will be included in the schema that copies the given field into
that of ``dest_field``.

unique-key
Optional override for declaring a field to be unique for all documents.
See http://wiki.apache.org/solr/SchemaXml for more information
Defaults to 'uid'.

default-search-field
Configure a default search field, which is used when no field was
explicitly given. See http://wiki.apache.org/solr/SchemaXml.

default-operator
The default operator to use for queries. Valid values are ``AND``
and ``OR``. Defaults to ``OR``.

additional-schema-config
Optional additional configuration to be included inside the
``schema.xml``. For instance, custom ``<copyField />`` directives
and anything else that's part of the schema configuration (see
http://wiki.apache.org/solr/SchemaXml).

additionalFieldConfig
Optional additional configuration which is placed inside
the <fields>...</fields> directive in schema.xml
Use this e.g. to insert dynamic fields.
example:
additionalFieldConfig =
<dynamicField name="..." type="string" indexed="true" stored="true" />
Defaults to ''

Multi-core
==========

The following options only apply if ``collective.recipe.solrinstance:mc`` is
specified. They are optional if the normal recipe is being used.
All options defined in the solr-instance section will we inherited to cores.
A core could override a previous defined option.

cores
A list of identifiers of Buildout configuration sections that correspond
to individual Solr core configurations. Each identifier specified will
have the section it relates to processed according to the given options
above to generate Solr configuration files for each core. See `Multi-core
Solr`_ for an example.

Each identifier specified will result in a Solr ``instanceDir`` being
created and entries for each core placed in Solr's ``solr.xml``
configuration.

default-core-name
Optional. This option controls which core is set as the default for
incoming requests that do not specify a core name. This corresponds to
the ``defaultCoreName`` option described at
http://wiki.apache.org/solr/CoreAdmin#cores.

Zope Integration
================

section-name
Name of the ``product-config`` section to be generated for ``zope.conf``.
Defaults to ``solr``.

zope-conf
Optional override for the configuration snippet that is generated to
be included in ``zope.conf`` by other recipes. Defaults to::

<product-config ${part:section-name}>
address ${part:host}:${part:port}
basepath ${part:basepath}
</product-config>

Examples
********


Single Solr
===========

A simple example how a single Solr configuration could look like this::

[buildout]
parts = solr-download
solr

[solr-download]
recipe = hexagonit.recipe.download
strip-top-level-dir = true
url = http://mirrorservice.nomedia.no/apache.org//lucene/solr/3.5.0/apache-solr-3.5.0.zip

[solr]
recipe = collective.recipe.solrinstance
solr-location = ${solr-download:location}
host = 127.0.0.1
port = 1234
max-num-results = 500
section-name = SOLR
unique-key = uniqueID
index =
name:uniqueID type:string indexed:true stored:true required:true
name:Foo type:text copyfield:Baz
name:Bar type:date indexed:false stored:false required:true multivalued:true omitnorms:true copyfield:Baz
name:Foo bar type:text
name:Baz type:text
name:Everything type:text
filter =
text solr.LowerCaseFilterFactory
char-filter-index =
text solr.HTMLStripCharFilterFactory
tokenizer-query =
text solr.WhitespaceTokenizerFactory
additional-schema-config =
<copyField source="*" dest="Everything"/>

Multi-core Solr
===============

To configure Solr for multiple cores, you must use the
``collective.recipe.solrinstance:mc`` recipe. An example of a multi-core Solr
configuration could look like the following::

[buildout]
parts = solr-download
solr-mc

[solr-download]
recipe = hexagonit.recipe.download
strip-top-level-dir = true
url = http://mirrorservice.nomedia.no/apache.org//lucene/solr/3.5.0/apache-solr-3.5.0.zip

[solr-mc]
recipe = collective.recipe.solrinstance:mc
solr-location = ${solr-download:location}
host = 127.0.0.1
port = 1234
section-name = SOLR
directoryFactory = solr.NRTCachingDirectoryFactory
cores = core1 core2

[core1]
max-num-results = 99
unique-key = uniqueID
index =
name:uniqueID type:string indexed:true stored:true required:true
name:Foo type:text copyfield:Baz
name:Bar type:date indexed:false stored:false required:true multivalued:true omitnorms:true copyfield:Baz
name:Foo bar type:text
name:Baz type:text
name:Everything type:text
filter =
text solr.LowerCaseFilterFactory
char-filter-index =
text solr.HTMLStripCharFilterFactory
tokenizer-query =
text solr.WhitespaceTokenizerFactory
text solr.LowerCaseFilterFactory
additional-schema-config =
<copyField source="*" dest="Everything"/>

[core2]
max-num-results = 66
unique-key = uid
index =
name:uid type:string indexed:true stored:true required:true
name:La type:text
name:Le type:date indexed:false stored:false required:true multivalued:true omitnorms:true
name:Lau type:text
filter =
text solr.LowerCaseFilterFactory
char-filter-query =
text solr.HTMLStripCharFilterFactory
tokenizer-index =
text solr.WhitespaceTokenizerFactory

Change History
**************

5.0 (2013-06-24)
================

- Recreate solr config on buildout update if the
directory of the solr-instance was deleted.
[mghh]

- New option 'additionalFieldConfig'.
This option allows for additional configuration options
in <fields>...</fields> section of schema.xml
Use this if you have dynamicFields
[mghh]

- New option 'directoryFactory'.
Use it to define the solr directoryFactory for a Solr instance.
[mghh]

- Allow Buildout to be re-run without breaking a running Solr instance.
Previously, Solr required a restart to restore removed files.
[Jc2k]

- Remove ``apache-`` prefix from artifact filenames (jar files) to handle
naming changes introduced with Solr 4.1. Versions earlier than 4.1 will
see this prefix included within configuration files.
[davidjb]

- Ensure Solr 4 templates do not have two ``autoCommit``directives, mirroring
how Solr 3 templates operate.

**Backwards incompatibility**: if relying on a default ``autoCommit``
directive in Solr 4, you must configure the ``autoCommitMaxDocs`` and/or
``autoCommitMaxTime`` recipe options. A default is no longer provided.
[davidjb]

- Python 3 support added. Python < 2.6 support dropped. Dropped
dependency on iw.recipe.template as Cheetah does not support Python
3. Replaced with Genshi, as used by collective.recipe.template.

**Backwards incompatibility**: custom templates must be converted to
Genshi format.
[mitchellrj]

4.0.1 (unreleased)
==================

- Added additional-solrconfig-query allowing one to extend the solrconfig.xml
query section.
[naro]
- Add ability to specify location of pid file.
[CheeseTheMonkey]


4.0 (2013-02-15)
================

- Add ability to control ``filter``, ``char-filter`` and ``tokenizer`` options
for different analyzers (eg ``query`` and ``index`` analyzers). These
options are named like ``filter-query``.
[davidjb]
- Add ``tokenizer`` option for controlling the tokenizers set for default
field type analyzers.
[davidjb]
- Solr 4.0 support
[silviot]
- Allow comments in index directive
[silviot]
- Allow ``cores`` to be separated by newlines rather than just spaces.
[domruf]
- Add ``char-filter`` as an option for setting CharFilterFactories for
default field types.
[davidjb]

3.8 (2012-08-09)
================

- Support ``default-core-name`` for specifying the name of a core to
use for incoming Solr requests that do not specify a core. See
http://wiki.apache.org/solr/CoreAdmin#cores
[reinhardt]
- Add ability to add arbitrary configuration to ``schema.xml`` using
``additional-schema-config`` option.
[davidjb]
- Add documentation and tests for ``copyfield`` option for indexes to test
and clarify that this option is available.
[davidjb]

3.7.1 (2012-02-28)
==================

- Fixed package missing files, without a MANIFEST.in we need setuptools-git.
[jod]

3.7 (2012-02-28)
================

- Fixed tests.
[jod]

- added option ``abortOnConfigurationError`` (makes config error diagnostics a lot
easier).
[gweis]

- Add support for field options ``termVectors``, ``termPositions`` and
``termOffsets``.
[gweis]

- Use parts location to find additional jars.
[gweis]

- Copy dist and contrib folder for Multicore setup (just like for Singlecore).
[gweis]

- Diabled elevate.xml`, solar would fail to work if this is enabled.
[gweis]

3.6 (2011-12-07)
================

- Account for new schema validation in Solr 3.4 related to ``omitNorms`` field.
[hannosch]

- Update generated config files to match and require Solr 3.5.
[hannosch]

- Fix ``solr-instance purge`` to work with hosts/ports other than localhost:8983
[csenger]

- Added new ``extralibs`` option to include custom Java libraries

3.5 (2011-07-10)
================

- Removed the ``cacheSize`` option in favor of 8 specific options to configure
every aspect of the query caches on their own.
[hannosch]

- Added new ``spellcheckField`` option, to configure the source field for the
spellcheck search component.
[hannosch]

- Removed the example ``tvrh``, ``terms`` and ``elevate`` request handlers.
[hannosch]

- Removed the example ``spell`` request handler and enabled spell checking based
on the ``default`` field for the ``search`` request handler.
[hannosch]

- Clean up solrconfig template and remove an example ``firstSearcher`` query.
[hannosch]

- Added new ``mergeFactor``, ``ramBufferSizeMB``, ``unlockOnStartup`` options.
[hannosch]

3.4 (2011-07-09)
================

- Update generated config files to match and require Solr 3.3.
[hannosch]

- Add ``solr.WordDelimiterFilterFactory`` to the standard text field, to split on
intra-word delimiters such as ``-_:``.
[hannosch]

3.3 (2011-06-25)
================

- Increase the ``requestParsers-multipartUploadLimitInKB`` default value from
2mb to 100mb to allow the ``update/extract`` handler to accept large files.
[hannosch]

- Increase Jetty's ``maxFormContentSize`` from 1mb to 100mb to allow indexing
large files.
[hannosch]

- Changed the field definition of the ``text`` type to avoid filters specific to
the English language and instead use a default filter config that should work
with most languages, based on the ICU tokenizer and folding filter.
[hannosch]

- Load the ``analysis-extras`` libraries, so we can use the `ICU`-based filters
and tokenizers.
[hannosch]

- Removed the clustering request handlers from the default config, as they
didn't work anyways without us loading the ``contrib/clustering`` libraries.
[hannosch]

- Enable ``Tika`` data extraction and Solr Cell libraries. Data is extracted into
a field called ``tika_content`` unless specified otherwise in each request via
the ``fmap.content=`` argument. All extracted fields which aren't in the schema
are put into dynamic fields prefixed with ``tika_``.
[tom_gross, hannosch]

- Removed the Velocity driven ``/browse`` request handler. The example config
we generated didn't match the schema.
[hannosch]

3.2 (2011-06-23)
================

- Added a new option ``stopwords-template`` which allows you to specify a custom
stopwords file.
[hannosch]

3.1 (2011-06-06)
================

- Updated templates to match default found in Solr 3.2.
[hannosch]

3.0 (2011-06-04)
================

- We no longer require elementtree.
[hannosch]

- Use the standard libraries doctest module.
[hannosch]

- Increase the ``max-num-results`` default value from 10 to 500 to avoid
restricting search results on this low level. The application layer should
be responsible for making such restrictions.
[hannosch]

3.0a2 (2011-05-26)
==================

- Added new ``logging-template`` option and instruct Jetty to use the
``logging.properties`` file. The default logging level is set to ``WARNING``.
[hannosch]

- Pass the ``host`` option to the Jetty config, so it can be configured to listen
only on localhost or a specific IP.
[hannosch]

- Disabled Jetty request log.
[hannosch]

- Updated ``jetty.xml`` template to match new defaults found in the Solr 3.1
release.
[hannosch]

- Fixed syntax error introduced around ``httpCaching`` directive.
[hannosch]

3.0a1 (2011-05-26)
==================

- Updated the solrconfig.xml template to match the template from Solr 3.1.
[hannosch]

- Updated the default ``schema.xml`` to the Solr 3.1 format. The schema version
is now ``1.3`` instead of ``1.2``. The schema is no longer compatible with
Solr 1.4. Please use a recipe version from the 2.x series for that.

Changes to the schema include:

* Fields no longer have a compressed option.

* The default schema defines three new field types: ``point``, ``location`` and
``geohash`` useful for geospatial data.

If you have an older Solr 1.4 index, you should be able to continue using it
without a full reindex.
[hannosch]

2.1 (2011-04-12)
================

- Fixed reStructuredText.
[jod]

2.0 (2011-04-12)
================

- Added ``default`` to filter attributes.
[jod]

- Multicore recipe ``collective.recipe.solrinstance:mc``. [jod]

* Refactured to get multicore working.

* Pinned buildout version to get tests working.

1.1 (2011-04-04)
================

- Make jetty.xml.tmpl honor the host parameter.
[davidblewett]

- Support for Windows
[bluszcz]

1.0 (2010-12-12)
================

- No changes.

1.0b5 (2010-09-03)
==================

- Actually provide the default value for the ``cacheSize`` option.
[hannosch]

1.0b4 (2010-08-12)
==================

- Added ``jetty-template`` option.
[ajung]

1.0b3 (2010-07-23)
==================

- Don't kill solr after script finish when script is just used for starting
solr as a daemon
[do3cc]

1.0b2 (2010-06-01)
==================

- Actually do something in the update call. Now the configuration is updated
when you run buildout again.
[fschulze]

- Handle termination signal in the wrapper script, so the solr instance is
killed when the wrapper dies.
[fschulze]

1.0b1 (2010-05-25)
==================

- Added new ``autoCommitMaxDocs`` and ``autoCommitMaxTime`` options.
[hannnosch]

- ``logdir`` option internal bugfix: buildout does not allow ``None`` options
values (__setitem__).
[anguenot]

1.0a7 (2010-05-17)
==================

- Fixed syntax error in new logdir code.
[ajung]

1.0a6 (2010-05-17)
==================

- Added ``logdir`` option.
[ajung]

1.0a5 (2010-05-11)
==================

- Added more options: ``maxWarmingSearchers``, ``useColdSearcher`` and
``cacheSize``.
[hannosch]

1.0a4 (2010-05-05)
==================

- Added back JMX configuration. See http://wiki.apache.org/solr/SolrJmx for
more details. You can enable it by adding ``-Dcom.sun.management.jmxremote``
to the ``java_opts`` option.
[hannosch]

1.0a3 (2010-03-23)
==================

- Added back a field type called ``integer`` with the same properties as the
``int`` type. This ensures basic schemas created by ``collective.solr`` won't
need any schema changes, though they still need a full reindex.
[hannosch]

1.0a2 (2010-03-22)
==================

- Fixed invalid reStructuredText format in the changelog.
[hannosch]

1.0a1 (2010-03-22)
==================

- Replaced the ``gettableFiles`` option in the admin section with the new
``*.admin.ShowFileRequestHandler`` approach. By default your entire
``SOLR_HOME/conf`` except for the ``scripts.conf`` is exposed.
[hannosch]

- Updated the default ``schema.xml`` to the Solr 1.4 format. The schema version
is now ``1.2`` instead of ``1.1``. The schema is no longer compatible with
Solr 1.3. Please use a recipe version from the 0.x series for that.

Changes to the schema include:

* The integer field is now called int.

* New field type attribute ``omitTermFreqAndPositions`` introduced. This is
true by default except for text fields.

* New binary and random field types.

* The int, float, long, double and date fields now use the ``solr.Trie*``
classes. These are more efficient in general.

* New tint, tfloat, tlong, tdouble and tdate fields. These are ``solr.Trie*``
fields with a precisionStep configured. You can use them for fields that
see a lot of range queries.

* The old sint, slong, sfloat and sdouble fields are no longer configured.

* The examples fields text_greek, textTight and alphaOnlySort are no longer
configured by default.

* The text field uses the SnowballPorterFilterFactory with a language of
English instead of the EnglishPorterFilterFactory.

* The ignored field is now multiValued.

* No dynamic fields are configured by default.

If you have an older Solr 1.3 configuration, you might need to adjust it to
match some of the new defaults. You will also have to do a full reindex of
Solr, if the type of any of the fields changed, like with int or date fields.
[hannosch]

- Simplify solrconfig.xml and unconfigure example handlers that rely on a
specific schema. Other changes include:

* Indexes are now flushed when the ramBufferSizeMB is exceeded, defaulting to
32mb instead of every 1000 documents. The maxBufferedDocs is deprecated.

* The new reopenReaders option causes IndexReaders to be reopened instead of
closed and then opened.

* The filterCache uses the solr.FastLRUCache instead of the solr.LRUCache.

* The queryResultWindowSize defaults to 30 instead of 10.

* The requestHandler use the new solr.SearchHandler, which supports a
defType argument to turn it into a dismax handler, instead of having two
separate classes for the two handlers.

There is a number of new handlers in Solr 1.4, which aren't enabled by
default. Read the Solr documentation for the examples.
[hannosch]

- Updated jetty.xml and solrconfig.xml to Solr 1.4 defaults. The
``*.jetty.Request.maxFormContentSize`` has been set to allow post request of
1mb by default.
[hannosch]

- Made the tests pass again, by installing more packages into the test buildout
environment.
[hannosch]

0.4 (2010-02-18)
================

- Some package metadata cleanup.
[hannosch]

- Added optional java_opts parameter to pass to the Java Virtual
Machine (JVM) used to run Solr.
[anguenot]

- Fixed to create the ``solr.log`` file inside the ``log`` folder.
[deo]

- Made sure to display the invalid index attribute name when raising
the related error.
[deo]

- Added support for defining custom field types.
[deo]

- Added a ``restart`` command to the solr instance control script.
[deo]


0.3 (2009-09-10)
================

- Added requestParsers-multipartUploadLimitInKB allowing one to
adjust the request parsers limit.
[anguenot]

- Added additional-solrconfig allowing one to extend the solrconfig.xml.
[anguenot]

- Support whitespace in schema index attributes values.
[anguenot]

- Added default-operator.
[swampmonkey]

- Added config-template for allowing an alternate template to be used for
generating the solrconfig.xml file.
[cguardia]

- Added the ``vardir`` and ``script`` options, making it possible to
install multiple Solr instances in a single buildout.
[hathawsh]


0.2 (2008-08-08)
================

- Improved stop command by using SIGTERM instead of SIGHUP.
[guido_w]

- Made that stdout and stderr get redirected to a log file when daemonizing
the solr instance.
[guido_w]

- Added support for setting Solr filters.
[deo]


0.1 (2008-07-07)
================

- First public release.
[dokai]

Contributors
***********************

- Andreas Zeidler
- Carlos de la Guardia
- Dorneles Tremea
- Florian Schulze
- Guido Wesdorp
- Hanno Schlichting
- Jan Murre
- Joshua LaPlace
- Julien Anguenot
- Kai Lautaportti
- Shane Hathaway
- Tarek Ziade
- Tom Gross
- Andreas Jung
- David Blewett
- Josip Delic
- Carsten Senger
- Gerhard Weis
- David Beitey
- Richard Mitchell

Download
***********************

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
collective.recipe.solrinstance-5.0.zip (110.9 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page