Stopped indexing of classes which were unrelated to overall variants.
For example, an index with excludeVariantState(array('SearchVariantVersioned' => 'Stage'))
should only set this variant state on types where appliesTo() returns true, namely "Page".
Without the $class parameter it also returned on "File" index requests,
which then lead to all index requests being discarded later on somewhere in SearchUpdater.
Regression introduced in 625d282.
This fixes a critical bug meaning that using many_many fields in full text searching would have always failed.
the $singleton->many_many() lookup returns an array() of many-many components, however the line $class = $manyMany[0] is wrong, as the first value of the array is always the $dataClass (parentClass), not the otherClass (childClass).
Changing this to $class = $manyMany[1] fixes this bug.
MySQL is more reliable in its output ordering of elements where the order doesn't matter.
PostgreSQL is not. This meant that this test "accidentally passed" on MySQL and failed on
PostgreSQL. The sort function resolves this.
The local solr server was very out of date (because changing it would be an API change)
and took up lots of space in the repository.
This commit removes it, and references a newly created package,
silverstripe/fulltextsearch-localsolr
Not only does this save on storage space when the example server
isnt needed (you shouldnt really be using it for production), it
also disconnects the server version from the module version, so
you can easily change one without changing the other
Solr::configure_server now takes "version" as one of the keys in the
option array, and behaves slightly differently depending on whether
that version is 3 or 4, to provide support for both Solr versions.
The Solr extras and templates have also moved, so that different
versions can be provided for the two different Solr versions.
Solr_Configure takes the `indexstore.mode` configuration variable to set how
to upload new configuration to the Solr server. However the various modes
were within Solr_Configure and you couldnt add more without altering the module
This changes Solr_Configure to make the configuration upload portion
contained with a seperate class thats selected via `indexstore.mode`
to fix that.