You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Gabriele Kahlout <ga...@mysimpatico.com> on 2011/07/11 16:58:52 UTC

How do I specify a different analyzer at search-time?

With a lucene QueryParser instance it's possible to set the analyzer in use.
I suspect Solr doesn't use the same analyzer it used at indexing, defined in
schema.xml but I cannot verify that without the queryparser instance.
>From Jan's diagram it seems this is set in the SearchHandler's init. Is it?
How?

On Sun, Apr 10, 2011 at 11:05 AM, Jan Høydahl <ja...@cominvent.com> wrote:

> > Looks really good, but two bits that i think might confuse people are
> > the implications that a "Query Parser" then invokes a series of search
> > components; and that "analysis" (and the pieces of an analyzer chain)
> > are what to lookups in the underlying lucene index.
> >
> > the first might just be the ambiguity of "Query" .. using the term
> > "request parser" might make more sense, in comparison to the "update
> > parsing" from the other side of hte diagram.
>
> Thanks for commenting.
>
> Yea, the purpose is more to show a conceptual rather than actual relation
> between the different components, focusing on the flow. A 100% technical
> correct diagram would be too complex for beginners to comprehend,
> although it could certainly be useful for developers.
>
> I've removed the arrow between QueryParser and search components to
> clarify.
> The boxes first and foremost show that query parsing and response writers
> are within the realm of search request handler.
>
> > the analysis piece is a little harder to fix cleanly.  you really want
> the
> > end of the analysis chain to feed back up to the searh components, and
> > then show it (most of hte search components really) talking to the Lucene
> > index.
>
> Yea, I know. Showing how Faceting communicate with the main index and
> spellchecker with its spellchecker index could also be useful, but I think
> that would be for another more detailed diagram.
>
> I felt it was more important for beginners to realize visually that
> analysis happens both at index and search time, and that the analyzers
> align 1:1. At this stage in the digram I often explain the importance
> of matching up the analysis on both sides to get a match in the index.
>
> --
> Jan Høydahl, search solution architect
> Cominvent AS - www.cominvent.com
>
>


-- 
Regards,
K. Gabriele

--- unchanged since 20/9/10 ---
P.S. If the subject contains "[LON]" or the addressee acknowledges the
receipt within 48 hours then I don't resend the email.
subject(this) ∈ L(LON*) ∨ ∃x. (x ∈ MyInbox ∧ Acknowledges(x, this) ∧ time(x)
< Now + 48h) ⇒ ¬resend(I, this).

If an email is sent by a sender that is not a trusted contact or the email
does not contain a valid code then the email is not received. A valid code
starts with a hyphen and ends with "X".
∀x. x ∈ MyInbox ⇒ from(x) ∈ MySafeSenderList ∨ (∃y. y ∈ subject(x) ∧ y ∈
L(-[a-z]+[0-9]X)).

Re: How do I specify a different analyzer at search-time?

Posted by Mike Sokolov <so...@ifactory.com>.
There is a syntax  that allows you to specify different analyzers to use 
for indexing and querying, in solr.xml.  But if you don't do that, it 
should use the same analyzer in both cases.

-Mike

On 07/11/2011 10:58 AM, Gabriele Kahlout wrote:
> With a lucene QueryParser instance it's possible to set the analyzer in use.
> I suspect Solr doesn't use the same analyzer it used at indexing, defined in
> schema.xml but I cannot verify that without the queryparser instance.
>  From Jan's diagram it seems this is set in the SearchHandler's init. Is it?
> How?
>
> On Sun, Apr 10, 2011 at 11:05 AM, Jan Høydahl<ja...@cominvent.com>  wrote:
>
>    
>>> Looks really good, but two bits that i think might confuse people are
>>> the implications that a "Query Parser" then invokes a series of search
>>> components; and that "analysis" (and the pieces of an analyzer chain)
>>> are what to lookups in the underlying lucene index.
>>>
>>> the first might just be the ambiguity of "Query" .. using the term
>>> "request parser" might make more sense, in comparison to the "update
>>> parsing" from the other side of hte diagram.
>>>        
>> Thanks for commenting.
>>
>> Yea, the purpose is more to show a conceptual rather than actual relation
>> between the different components, focusing on the flow. A 100% technical
>> correct diagram would be too complex for beginners to comprehend,
>> although it could certainly be useful for developers.
>>
>> I've removed the arrow between QueryParser and search components to
>> clarify.
>> The boxes first and foremost show that query parsing and response writers
>> are within the realm of search request handler.
>>
>>      
>>> the analysis piece is a little harder to fix cleanly.  you really want
>>>        
>> the
>>      
>>> end of the analysis chain to feed back up to the searh components, and
>>> then show it (most of hte search components really) talking to the Lucene
>>> index.
>>>        
>> Yea, I know. Showing how Faceting communicate with the main index and
>> spellchecker with its spellchecker index could also be useful, but I think
>> that would be for another more detailed diagram.
>>
>> I felt it was more important for beginners to realize visually that
>> analysis happens both at index and search time, and that the analyzers
>> align 1:1. At this stage in the digram I often explain the importance
>> of matching up the analysis on both sides to get a match in the index.
>>
>> --
>> Jan Høydahl, search solution architect
>> Cominvent AS - www.cominvent.com
>>
>>
>>      
>
>    

Re: How do I specify a different analyzer at search-time?

Posted by pravesh <su...@yahoo.com>.
You can configure analyzer for 'index-time' & for 'search-time' for each of
your field-types in schema.xml

Thanx
Pravesh

--
View this message in context: http://lucene.472066.n3.nabble.com/How-do-I-specify-a-different-analyzer-at-search-time-tp3159463p3165593.html
Sent from the Solr - User mailing list archive at Nabble.com.