Elisabeth:

What shows up in the debug section of the response when you add
&debugQuery=on? There should be some bit of that section like:
"parsed_filter_queries"

My other question is "are you absolutely sure that your
CATEGORY_ANALYZED field has the correct content?". How does it
get populated?

Nothing jumps out at me here....

Best
Erick

On Tue, Apr 24, 2012 at 9:55 AM, elisabeth benoit
<elisaelisael...@gmail.com> wrote:
> yes, thanks, but this is NOT my question.
>
> I was wondering why I have multiple matches with q="hotel de ville" and no
> match with fq=CATEGORY_ANALYZED:"hotel de ville", since in both case I'm
> searching in the same solr fieldType.
>
> Why is q parameter behaving differently in that case? Why do the quotes
> work in one case and not in the other?
>
> Does anyone know?
>
> Thanks,
> Elisabeth
>
> 2012/4/24 Jeevanandam <je...@myjeeva.com>
>
>>
>> usage of q and fq
>>
>> q => is typically the main query for the search request
>>
>> fq => is Filter Query; generally used to restrict the super set of
>> documents without influencing score (more info.
>> http://wiki.apache.org/solr/**CommonQueryParameters#q<http://wiki.apache.org/solr/CommonQueryParameters#q>
>> )
>>
>> For example:
>> ------------
>> q="hotel de ville" ===> returns 100 documents
>>
>> q="hotel de ville"&fq=price:[100 To *]&fq=roomType:"King size Bed" ===>
>> returns 40 documents from super set of 100 documents
>>
>>
>> hope this helps!
>>
>> - Jeevanandam
>>
>>
>>
>> On 24-04-2012 3:08 pm, elisabeth benoit wrote:
>>
>>> Hello,
>>>
>>> I'd like to resume this post.
>>>
>>> The only way I found to do not split synonyms in words in synonyms.txt it
>>> to use the line
>>>
>>>  <filter class="solr.**SynonymFilterFactory" synonyms="synonyms.txt"
>>> ignoreCase="true" expand="true"
>>> tokenizerFactory="solr.**KeywordTokenizerFactory"/>
>>>
>>> in schema.xml
>>>
>>> where tokenizerFactory="solr.**KeywordTokenizerFactory"
>>>
>>> instructs SynonymFilterFactory not to break synonyms into words on white
>>> spaces when parsing synonyms file.
>>>
>>> So now it works fine, "mairie" is mapped into "hotel de ville" and when I
>>> send request q="hotel de ville" (quotes are mandatory to prevent analyzer
>>> to split hotel de ville on white spaces), I get answers with word
>>> "mairie".
>>>
>>> But when I use fq parameter (fq=CATEGORY_ANALYZED:"hotel de ville"), it
>>> doesn't work!!!
>>>
>>> CATEGORY_ANALYZED is same field type as default search field. This means
>>> that when I send q="hotel de ville" and fq=CATEGORY_ANALYZED:"hotel de
>>> ville", solr uses the same analyzer, the one with the line
>>>
>>> <filter class="solr.**SynonymFilterFactory" synonyms="synonyms.txt"
>>> ignoreCase="true" expand="true"
>>> tokenizerFactory="solr.**KeywordTokenizerFactory"/>.
>>>
>>> Anyone as a clue what is different between q analysis behaviour and fq
>>> analysis behaviour?
>>>
>>> Thanks a lot
>>> Elisabeth
>>>
>>> 2012/4/12 elisabeth benoit <elisaelisael...@gmail.com>
>>>
>>>  oh, that's right.
>>>>
>>>> thanks a lot,
>>>> Elisabeth
>>>>
>>>>
>>>> 2012/4/11 Jeevanandam Madanagopal <je...@myjeeva.com>
>>>>
>>>>  Elisabeth -
>>>>>
>>>>> As you described, below mapping might suit for your need.
>>>>> mairie => hotel de ville, mairie
>>>>>
>>>>> mairie gets expanded to "hotel de ville" and "mairie" at index time.  So
>>>>> "mairie" and "hotel de ville" searchable on document.
>>>>>
>>>>> However, still white space tokenizer splits at query time will be a
>>>>> problem as described by Markus.
>>>>>
>>>>> --Jeevanandam
>>>>>
>>>>> On Apr 11, 2012, at 12:30 PM, elisabeth benoit wrote:
>>>>>
>>>>> > <<Have you tried the "=>' mapping instead? Something
>>>>> > <<like
>>>>> > <<hotel de ville => mairie
>>>>> > <<might work for you.
>>>>> >
>>>>> > Yes, thanks, I've tried it but from what I undestand it doesn't solve
>>>>> my
>>>>> > problem, since this means hotel de ville will be replace by mairie at
>>>>> > index time (I use synonyms only at index time). So when user will ask
>>>>> > "hôtel de ville", it won't match.
>>>>> >
>>>>> > In fact, at index time I have mairie in my data, but I want user to be
>>>>> able
>>>>> > to request "mairie" or "hôtel de ville" and have mairie as answer, and
>>>>> not
>>>>> > have mairie as an answer when requesting "hôtel".
>>>>> >
>>>>> >
>>>>> > <<To map `mairie` to `hotel de ville` as single token you must escape
>>>>> your
>>>>> > white
>>>>> > <<space.
>>>>> >
>>>>> > <<mairie, hotel\ de\ ville
>>>>> >
>>>>> > <<This results in  a problem if your tokenizer splits on white space
>>>>> at
>>>>> > query
>>>>> > <<time.
>>>>> >
>>>>> > Ok, I guess this means I have a problem. No simple solution since at
>>>>> query
>>>>> > time my tokenizer do split on white spaces.
>>>>> >
>>>>> > I guess my problem is more or less one of the problems discussed in
>>>>> >
>>>>> >
>>>>>
>>>>> http://lucene.472066.n3.**nabble.com/Multi-word-**
>>>>> synonyms-td3716292.html#**a3717215<http://lucene.472066.n3.nabble.com/Multi-word-synonyms-td3716292.html#a3717215>
>>>>> >
>>>>> >
>>>>> > Thanks a lot for your answers,
>>>>> > Elisabeth
>>>>> >
>>>>> >
>>>>> >
>>>>> >
>>>>> >
>>>>> > 2012/4/10 Erick Erickson <erickerick...@gmail.com>
>>>>> >
>>>>> >> Have you tried the "=>' mapping instead? Something
>>>>> >> like
>>>>> >> hotel de ville => mairie
>>>>> >> might work for you.
>>>>> >>
>>>>> >> Best
>>>>> >> Erick
>>>>> >>
>>>>> >> On Tue, Apr 10, 2012 at 1:41 AM, elisabeth benoit
>>>>> >> <elisaelisael...@gmail.com> wrote:
>>>>> >>> Hello,
>>>>> >>>
>>>>> >>> I've read several post on this issue, but can't find a real solution
>>>>> to
>>>>> >> my
>>>>> >>> multi-words synonyms matching problem.
>>>>> >>>
>>>>> >>> I have in my synonyms.txt an entry like
>>>>> >>>
>>>>> >>> mairie, hotel de ville
>>>>> >>>
>>>>> >>> and my index time analyzer is configured as followed for synonyms.
>>>>> >>>
>>>>> >>> <filter class="solr.**SynonymFilterFactory" synonyms="synonyms.txt"
>>>>> >>> ignoreCase="true" expand="true"/>
>>>>> >>>
>>>>> >>> The problem I have is that now "mairie" matches with "hotel" and I
>>>>> would
>>>>> >>> only want "mairie" to match with "hotel de ville" and "mairie".
>>>>> >>>
>>>>> >>> When I look into the analyzer, I see that "mairie" is mapped into
>>>>> >> "hotel",
>>>>> >>> and words "de ville" are added in second and third position. To
>>>>> change
>>>>> >>> that, I tried to do
>>>>> >>>
>>>>> >>> <filter class="solr.**SynonymFilterFactory" synonyms="synonyms.txt"
>>>>> >>> ignoreCase="true" expand="true"
>>>>> >>> tokenizerFactory="solr.**KeywordTokenizerFactory"/> (as I read in
>>>>> one
>>>>> post)
>>>>> >>>
>>>>> >>> and I can see now in the analyzer that "mairie" is mapped to "hotel
>>>>> de
>>>>> >>> ville", but now when I have query "hotel de ville", it doesn't match
>>>>> at
>>>>> >> all
>>>>> >>> with "mairie".
>>>>> >>>
>>>>> >>> Anyone has a clue of what I'm doing wrong?
>>>>> >>>
>>>>> >>> I'm using Solr 3.4.
>>>>> >>>
>>>>> >>> Thanks,
>>>>> >>> Elisabeth
>>>>> >>
>>>>>
>>>>>
>>>>>
>>>>
>>

Reply via email to