[
https://issues.apache.org/jira/browse/SOLR-773?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12727006#action_12727006
]
Chris Male commented on SOLR-773:
---------------------------------
I have just added a patch which adds support to Solr for the multi-threaded
spatial search I've added in LUCENE-1732. The performance improvements made by
the multi-threaded search reduces the time taken to filter 1.2 million
documents from 3s to between 500-800ms.
In addition to the support for the improved spatial search, I have changed the
query syntax supported by Solr for spatial searches. The syntax now uses local
params which contain any information specific to a spatial search. An example
of a search using the new syntax is:
q={!spatial_tier lat=50.0 long=4.0 radius=10}*:*
Also as part of the patch, I have removed the need for a specific
DistanceCalcuatingComponent by changing the query produced by the
SpatialTierQueryParserPlugin to a FilteredQuery, and by introducing the notion
of a FieldValueSource.
FieldValueSources, which can be registered with the new
FieldValueSourceRegistry, are used to add arbitrary information to documents as
they are being written by ResponseWriters. Hence a DistanceFieldValueSource is
created and registered by the SpatialTierQueryParserPlugin so that the
distances calculated during the spatial search can be added the resulting
documents. This removes the need to do the adding of the distances in a
special component. A useful feature of the FieldValueSources is that they can
be controlled through fl request parameter. This means that for spatial
search, the distances calculated do not necessary have to be included in the
response.
The final contribution of the patch is since the new spatial search uses
multiple-threads through an ExecutorService, it is necessary for Solr to have
an ExecutorService that can be configured and managed. Consequently the patch
includes support for defining an ExecutorService in the solrconfig.xml. The
ExecutorService is then cleaned up when the SolrCore it belongs to, is closed.
I am intending on creating an example configuration over the next few days,
which will also include some example data.
> Incorporate Local Lucene/Solr
> -----------------------------
>
> Key: SOLR-773
> URL: https://issues.apache.org/jira/browse/SOLR-773
> Project: Solr
> Issue Type: New Feature
> Reporter: Grant Ingersoll
> Assignee: Grant Ingersoll
> Priority: Minor
> Attachments: lucene-spatial-2.9-dev.jar, lucene.tar.gz,
> SOLR-773-local-lucene.patch, SOLR-773-local-lucene.patch,
> SOLR-773-local-lucene.patch, SOLR-773-local-lucene.patch,
> SOLR-773-local-lucene.patch, SOLR-773-spatial_solr.patch, SOLR-773.patch,
> SOLR-773.patch, spatial-solr.tar.gz
>
>
> Local Lucene has been donated to the Lucene project. It has some Solr
> components, but we should evaluate how best to incorporate it into Solr.
> See http://lucene.markmail.org/message/orzro22sqdj3wows?q=LocalLucene
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.