
Security News
OWASP 2025 Top 10 Adds Software Supply Chain Failures, Ranked Top Community Concern
OWASP’s 2025 Top 10 introduces Software Supply Chain Failures as a new category, reflecting rising concern over dependency and build system risks.
collective.recipe.solrinstance
Advanced tools
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
This version of the recipe supports Solr 3.5, 4.x (including 4.0, 4.1, 4.2 and 4.5). 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-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.
log4j-template
Optional override for the log4j.properties template. Defaults to
templates/log4j.properties.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
...
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.
updateLog
if updateLog is enabled an additional field _version_ will be added
to schema and updateLog will be enabled in updateHandler. This is required
if you want to use Atomic Updates in Solr > 4.0. See:
https://wiki.apache.org/solr/Atomic_Updates, defaults to false.
requestParsers-enableRemoteStreaming
Let's you enable remote streaming. Defalts to false as this is the Solr
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, solr.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.
Fine grained control of query caching as described at http://wiki.apache.org/solr/SolrCaching.
The supported options are:
filterCacheSizefilterCacheInitialSizefilterCacheAutowarmCountqueryResultCacheSizequeryResultCacheInitialSizequeryResultCacheAutowarmCountdocumentCacheSizedocumentCacheInitialSizedocumentCacheAutowarmCount (only for Solr 4)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
extra-conf-files Add extra files to conf folder like synonyms.txt or hunspell files https://wiki.apache.org/solr/Hunspell
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 to insert
dynamic fields. For example::
additionalFieldConfig =
<dynamicField name="..." type="string" indexed="true" stored="true" />
Defaults to ``''`` (empty string).
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.
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
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"/>
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
Added requestParsers-enableRemoteStreaming to allow configuring remote
streaming [wengole]
Update request handler in solrconfig.xml to avoid deprecation warnings
for SOLR 4. [mgrbyte]
Fix schema and stop words template location. [gforcada]
updateLog for atomic update usage in SOLR 4.0.
This will automatically add a new field _version_ to your schema, see:
http://wiki.apache.org/solr/SchemaXml#Fields
[saily]storeOffsetsWithPositions to get PostingsSolrHighlighter
working.
[jod]spellcheckField to wrodbreak in spellchecker.
[jod]extra-conf-files to schema generation. Now we can add extra files
to conf folder.
[jod]dataDir option is generated in solrconfig.xml
using the default template. Fixes start-up in Solr 4.5.0.
[mitchellrj, pmcnr]core section will cause Solr configuration
to be regenerated. Fixes #24.
[davidjb]logdir option is now available for logging.properties template.
[pmcnr]log4j.properties from template (Solr >= 4.3 defaults
to using log4j as its SLF4J implementation).
[pmcnr]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 ... 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]
filter, char-filter and tokenizer options
for different analyzers (eg query and index analyzers). These
options are named like filter-query.
[davidjb]tokenizer option for controlling the tokenizers set for default
field type analyzers.
[davidjb]cores to be separated by newlines rather than just spaces.
[domruf]char-filter as an option for setting CharFilterFactories for
default field types.
[davidjb]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]schema.xml using
additional-schema-config option.
[davidjb]copyfield option for indexes to test
and clarify that this option is available.
[davidjb]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]
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
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]
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]
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]
stopwords-template which allows you to specify a custom
stopwords file.
[hannosch]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]
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]
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]
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.
Make jetty.xml.tmpl honor the host parameter. [davidblewett]
Support for Windows [bluszcz]
cacheSize option.
[hannosch]jetty-template option.
[ajung]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]
Added new autoCommitMaxDocs and autoCommitMaxTime options.
[hannnosch]
logdir option internal bugfix: buildout does not allow None options
values (setitem).
[anguenot]
logdir option.
[ajung]maxWarmingSearchers, useColdSearcher and
cacheSize.
[hannosch]-Dcom.sun.management.jmxremote
to the java_opts option.
[hannosch]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]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]
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]
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]
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]
Contributors
Download
FAQs
zc.buildout to configure a solr instance
We found that collective.recipe.solrinstance demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 16 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OWASP’s 2025 Top 10 introduces Software Supply Chain Failures as a new category, reflecting rising concern over dependency and build system risks.

Research
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.