lucene-solr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Male (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (SOLR-773) Incorporate Local Lucene/Solr
Date Fri, 03 Jul 2009 15:28:48 GMT

    [ https://issues.apache.org/jira/browse/SOLR-773?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12727006#action_12727006
] 

Chris Male edited comment on SOLR-773 at 7/3/09 8:28 AM:
---------------------------------------------------------

I have just added a patch which adds support to Solr for the multi-threaded spatial search
I've added in LUCENE-1732 (Note, I have attached the jar built using the code in the Lucene
issue).  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.


      was (Author: cmale):
    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.


Mime
View raw message