Re: matching with whole field

2012-08-02 Thread elisabeth benoit
Thanks you so much Franck Brisbart.

It's working!

Best regards,
Elisabeth

2012/8/2 fbrisbart 

> It's a parsing problem.
> You must tell the query parser to consider spaces as real characters.
> This should work (backslashing the spaces):
> fq=ONLY_EXACT_MATCH_FIELD:salon\ de\ coiffure
>
> or you may use something like that :
> fq={!term f=ONLY_EXACT_MATCH_FIELD v=$qq}&qq=salon de coiffure
>
>
> Hope it helps,
> Franck Brisbart
>
>
> Le jeudi 02 août 2012 à 09:56 +0200, elisabeth benoit a écrit :
> > Hello,
> >
> > I am using Solr 3.4.
> >
> > I'm trying to define a type that it is possible to match with only if
> > request contains exactly the same words.
> >
> > Let's say I have two different values for ONLY_EXACT_MATCH_FIELD
> >
> > ONLY_EXACT_MATCH_FIELD: salon de coiffure
> > ONLY_EXACT_MATCH_FIELD: salon de coiffure pour femmes
> >
> > I would like to match only with the first ont when requesting Solr with
> > fq=ONLY_EXACT_MATCH_FIELD:(salon de coiffure)
> >
> > As far has I understood, the solution is to do not tokenize on white
> > spaces, and use instead solr.KeywordTokenizerFactory
> >
> >
> > My actual type is defined as followed in schema.xml
> >
> >  > omitNorms="true" positionIncrementGap="100">
> >   
> > 
> >  > mapping="mapping-ISOLatin1Accent.txt"/>
> > 
> > 
> > 
> > 
> >   
> > 
> >
> > But matching with fields with more then one word doesn't work. Does
> someone
> > have a clue what I am doing wrong?
> >
> > Thanks,
> > Elisabeth
>
>
>


Re: matching with whole field

2012-08-02 Thread fbrisbart
It's a parsing problem.
You must tell the query parser to consider spaces as real characters.
This should work (backslashing the spaces):
fq=ONLY_EXACT_MATCH_FIELD:salon\ de\ coiffure

or you may use something like that :
fq={!term f=ONLY_EXACT_MATCH_FIELD v=$qq}&qq=salon de coiffure


Hope it helps,
Franck Brisbart


Le jeudi 02 août 2012 à 09:56 +0200, elisabeth benoit a écrit :
> Hello,
> 
> I am using Solr 3.4.
> 
> I'm trying to define a type that it is possible to match with only if
> request contains exactly the same words.
> 
> Let's say I have two different values for ONLY_EXACT_MATCH_FIELD
> 
> ONLY_EXACT_MATCH_FIELD: salon de coiffure
> ONLY_EXACT_MATCH_FIELD: salon de coiffure pour femmes
> 
> I would like to match only with the first ont when requesting Solr with
> fq=ONLY_EXACT_MATCH_FIELD:(salon de coiffure)
> 
> As far has I understood, the solution is to do not tokenize on white
> spaces, and use instead solr.KeywordTokenizerFactory
> 
> 
> My actual type is defined as followed in schema.xml
> 
>  omitNorms="true" positionIncrementGap="100">
>   
> 
>  mapping="mapping-ISOLatin1Accent.txt"/>
> 
> 
> 
> 
>   
> 
> 
> But matching with fields with more then one word doesn't work. Does someone
> have a clue what I am doing wrong?
> 
> Thanks,
> Elisabeth




Re: matching with whole field

2012-08-02 Thread elisabeth benoit
Hello Chantal,

Thanks for your answer.

In fact, my analyzer contains the same tokenizer chain for "query". I just
removed it in my email for lisibility (but maybe not good for clarity). And
I did check with the admin interface, and it says there is a match. But
with a real query to Solr, it doesn't match.

I've once read in the mailing list that one should not always trust the
admin interface for analysis...

I don't think this should interfer, but my default request handler (the one
used by fq I guess) is not edismax.


If you have more clues, I'd be glad to read.

Thanks again,
Elisabeth



2012/8/2 Chantal Ackermann 

> Hi Elisabeth,
>
> try adding the same tokenizer chain for "query", as well, or simply remove
> the type="index" from the analyzer element.
>
> Your chain is analyzing the input of the indexer and removing diacritics
> and lowercasing. With your current setup, the input to the search is not
> analyzed likewise so inputs that are not lowercased or contain diacritics
> will not match.
>
> You might want to use the analysis frontend in the Admin UI to see how
> input to the indexer and the searcher is transformed and matched.
>
> Cheers,
> Chantal
>
> Am 02.08.2012 um 09:56 schrieb elisabeth benoit:
>
> > Hello,
> >
> > I am using Solr 3.4.
> >
> > I'm trying to define a type that it is possible to match with only if
> > request contains exactly the same words.
> >
> > Let's say I have two different values for ONLY_EXACT_MATCH_FIELD
> >
> > ONLY_EXACT_MATCH_FIELD: salon de coiffure
> > ONLY_EXACT_MATCH_FIELD: salon de coiffure pour femmes
> >
> > I would like to match only with the first ont when requesting Solr with
> > fq=ONLY_EXACT_MATCH_FIELD:(salon de coiffure)
> >
> > As far has I understood, the solution is to do not tokenize on white
> > spaces, and use instead solr.KeywordTokenizerFactory
> >
> >
> > My actual type is defined as followed in schema.xml
> >
> > > omitNorms="true" positionIncrementGap="100">
> >  
> >
> > > mapping="mapping-ISOLatin1Accent.txt"/>
> >
> >
> >
> >
> >  
> >
> >
> > But matching with fields with more then one word doesn't work. Does
> someone
> > have a clue what I am doing wrong?
> >
> > Thanks,
> > Elisabeth
>
>


Re: matching with whole field

2012-08-02 Thread Chantal Ackermann
Hi Elisabeth,

try adding the same tokenizer chain for "query", as well, or simply remove the 
type="index" from the analyzer element.

Your chain is analyzing the input of the indexer and removing diacritics and 
lowercasing. With your current setup, the input to the search is not analyzed 
likewise so inputs that are not lowercased or contain diacritics will not match.

You might want to use the analysis frontend in the Admin UI to see how input to 
the indexer and the searcher is transformed and matched.

Cheers,
Chantal

Am 02.08.2012 um 09:56 schrieb elisabeth benoit:

> Hello,
> 
> I am using Solr 3.4.
> 
> I'm trying to define a type that it is possible to match with only if
> request contains exactly the same words.
> 
> Let's say I have two different values for ONLY_EXACT_MATCH_FIELD
> 
> ONLY_EXACT_MATCH_FIELD: salon de coiffure
> ONLY_EXACT_MATCH_FIELD: salon de coiffure pour femmes
> 
> I would like to match only with the first ont when requesting Solr with
> fq=ONLY_EXACT_MATCH_FIELD:(salon de coiffure)
> 
> As far has I understood, the solution is to do not tokenize on white
> spaces, and use instead solr.KeywordTokenizerFactory
> 
> 
> My actual type is defined as followed in schema.xml
> 
> omitNorms="true" positionIncrementGap="100">
>  
>
> mapping="mapping-ISOLatin1Accent.txt"/>
>
>
>
>
>  
>
> 
> But matching with fields with more then one word doesn't work. Does someone
> have a clue what I am doing wrong?
> 
> Thanks,
> Elisabeth



matching with whole field

2012-08-02 Thread elisabeth benoit
Hello,

I am using Solr 3.4.

I'm trying to define a type that it is possible to match with only if
request contains exactly the same words.

Let's say I have two different values for ONLY_EXACT_MATCH_FIELD

ONLY_EXACT_MATCH_FIELD: salon de coiffure
ONLY_EXACT_MATCH_FIELD: salon de coiffure pour femmes

I would like to match only with the first ont when requesting Solr with
fq=ONLY_EXACT_MATCH_FIELD:(salon de coiffure)

As far has I understood, the solution is to do not tokenize on white
spaces, and use instead solr.KeywordTokenizerFactory


My actual type is defined as followed in schema.xml


  






  


But matching with fields with more then one word doesn't work. Does someone
have a clue what I am doing wrong?

Thanks,
Elisabeth