> In our case we want to boost exact search ( not phrase search).
> Simply adding the copy field not tokenised  with the related boost to the
> qf list should be fine.
> Am I missing something ?

Please try it out and report back. You’ll find that the “qf” param will only 
ever produce matches for single tokens, split on whitespace by the query parser.

You are right that the pf solution is only good for boosting exact matches of a 
field which should also match partially, and Derek wants it to match phrase 
search but not partial search. This gets a bit trickier. You can fix it 
partially by rewriting the query into a normal dismax OR’ed with a phrase match 
on the exact field. But if you expect a sub-phrase to trigger the match, e.g. 
q=black dvd bracket, where black should match partially in the qfs and “dvd 
bracket” should match exact in the exact field, then it gets more tricky.

--
Jan Høydahl, search solution architect
Cominvent AS - www.cominvent.com

> 29. jan. 2016 kl. 15.50 skrev Alessandro Benedetti <abenede...@apache.org>:
> 
> Still not following.
> Why you would like to use pf for exact search ( which is different from
> phrase search) ?
> Let's summarise :
> 
> pf
> <https://cwiki.apache.org/confluence/display/solr/The+DisMax+Query+Parser#TheDisMaxQueryParser-Thepf(PhraseFields)Parameter>
> 
> Phrase Fields: boosts the score of documents in cases where all of the
> terms in the q parameter appear in close proximity.
> 
> pf is for very specific use cases, when you want to boost phrase searches
> in a set of fields, to boost those documents up.
> In our case we want to boost exact search ( not phrase search).
> Simply adding the copy field not tokenised  with the related boost to the
> qf list should be fine.
> Am I missing something ?
> 
> On 29 January 2016 at 10:33, Jan Høydahl <jan....@cominvent.com> wrote:
> 
>> Hi
>> 
>> Did you try? Sadly, the pf param will not apply to a non-analyzed field,
>> and is not added if query consists of one term only.
>> 
>> --
>> Jan Høydahl, search solution architect
>> Cominvent AS - www.cominvent.com
>> 
>>> 29. jan. 2016 kl. 11.14 skrev Alessandro Benedetti <
>> abenede...@apache.org>:
>>> 
>>> Jan sorry If i insist, but I really don't see the benefit.
>>> If you use the edismax and a copy field not tokenised, you can apply the
>>> boost you want to the exact match, and the query will simply be q=foo.
>>> And you obtain exactly what you do without the markers.
>>> 
>>> But please, explain me how your solution add some benefit , because I am
>>> really curious and probably I missed some point ! :)
>>> If i misunderstood the problem, sorry about that !
>>> 
>>> Cheers
>>> 
>>> On 28 January 2016 at 21:55, Jan Høydahl <jan....@cominvent.com> wrote:
>>> 
>>>> Depends on what exactly you try to do. I think the Github README
>> explains
>>>> in what situations my solution excels.
>>>> Especially if you do not have control over the client application, you
>>>> simply get a q=foo, then such a
>>>> setup will allow you to boost exact matches very easily.
>>>> 
>>>> --
>>>> Jan Høydahl, search solution architect
>>>> Cominvent AS - www.cominvent.com
>>>> 
>>>>> 28. jan. 2016 kl. 16.28 skrev Alessandro Benedetti <
>>>> abenede...@apache.org>:
>>>>> 
>>>>> Jan,
>>>>> I admit I took a brief look, but what are the benefit of using your
>>>>> strategy instead of an additional not tokenised ( keywordTokenized)
>> copy
>>>>> field ?
>>>>> 
>>>>> Cheers
>>>>> 
>>>>> On 28 January 2016 at 15:22, Jan Høydahl <jan....@cominvent.com>
>> wrote:
>>>>> 
>>>>>> Hi
>>>>>> 
>>>>>> Please look at my github repo with a template for a field type
>> allowing
>>>>>> exact match. Typical use is with disMax query parser and the “pf”
>> param.
>>>>>> See https://github.com/cominvent/exactmatch
>>>>>> 
>>>>>> --
>>>>>> Jan Høydahl, search solution architect
>>>>>> Cominvent AS - www.cominvent.com
>>>>>> 
>>>>>>> 28. jan. 2016 kl. 10.52 skrev Derek Poh <d...@globalsources.com>:
>>>>>>> 
>>>>>>> Hi
>>>>>>> 
>>>>>>> First of all, sorry for the long post.
>>>>>>> 
>>>>>>> How do I implement or structured the query such that one of the
>> search
>>>>>> fields is an exact phrase match while the rest of the search fields
>> can
>>>> be
>>>>>> exact or partial matches? Is this possible?
>>>>>>> 
>>>>>>> I have the following search fields
>>>>>>> - P_VeryShortDescription
>>>>>>> - P_ShortDescription
>>>>>>> - P_CatConcatKeyword
>>>>>>> - spp_keyword_exact
>>>>>>> 
>>>>>>> For the spp_keyword_exact field, I want to apply an exact match to
>> it.
>>>>>>> 
>>>>>>> I have a document with the following information. If I search for
>>>> 'dvd',
>>>>>> this document should not match. However if I search for 'dvd bracket',
>>>> this
>>>>>> document should match.
>>>>>>> Right now when I search for 'dvd', it is not return, which is
>> correct.
>>>>>>> I want it to be return when I search for 'dvd bracket' but it is not.
>>>>>>> I try enclosing it in double quotes "dvd bracket" but it is not
>> return.
>>>>>> Then again I can't enclosed the search terms in double quotes "dvd
>>>> bracket"
>>>>>> as those documents with the word 'dvd' and 'bracket' in the other
>> fields
>>>>>> will not be match, am I right?
>>>>>>> 
>>>>>>> doc:
>>>>>>> <arrname="spp_keyword_exact">
>>>>>>> <str>TV Mounts</str>
>>>>>>> <str>dvd bracket</str>
>>>>>>> </arr>
>>>>>>> <strname="P_VeryShortDescription">TV Mounts</str>
>>>>>>> <strname="P_ShortDescription">Swivel TV Mounts, Suitable for 26-42
>>>>>> Inches Screen</str>
>>>>>>> <strname="P_CatConcatKeyword">Swivel TV mounts</str>
>>>>>>> 
>>>>>>> 
>>>>>>> Here are the fields definition:
>>>>>>> 
>>>>>>> <field indexed="true" name="spp_keyword_exact" stored="false"
>>>>>> type="gs_keyword_exact" multiValued="true"/>
>>>>>>> 
>>>>>>> <fieldType class="solr.TextField" name="gs_keyword_exact"
>>>>>> positionIncrementGap="100">
>>>>>>>   <analyzer type="index">
>>>>>>>     <tokenizer class="solr.KeywordTokenizerFactory"/>
>>>>>>>     <filter class="solr.LowerCaseFilterFactory"/>
>>>>>>>     <filter class="solr.EnglishMinimalStemFilterFactory" />
>>>>>>>   </analyzer>
>>>>>>>   <analyzer type="query">
>>>>>>>     <tokenizer class="solr.KeywordTokenizerFactory"/>
>>>>>>>     <filter class="solr.LowerCaseFilterFactory"/>
>>>>>>>     <filter class="solr.EnglishMinimalStemFilterFactory" />
>>>>>>>   </analyzer>
>>>>>>> </fieldType>
>>>>>>> 
>>>>>>> 
>>>>>>> The other search fields are defined as
>>>>>>> 
>>>>>>> <fieldType name="text_general" class="solr.TextField"
>>>>>> positionIncrementGap="100">
>>>>>>>   <analyzer type="index">
>>>>>>>           <tokenizer class="solr.StandardTokenizerFactory"/>
>>>>>>>           <filter class="solr.LowerCaseFilterFactory"/>
>>>>>>>           <filter class="solr.StopFilterFactory" ignoreCase="true"
>>>>>> words="stopwords.txt" />
>>>>>>>           <filter class="solr.SynonymFilterFactory"
>>>>>> synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
>>>>>>>           <filter class="solr.KStemFilterFactory"/>
>>>>>>>       </analyzer>
>>>>>>>         <analyzer type="query">
>>>>>>>           <tokenizer class="solr.StandardTokenizerFactory"/>
>>>>>>>            <filter class="solr.LowerCaseFilterFactory"/>
>>>>>>>           <filter class="solr.StopFilterFactory" ignoreCase="true"
>>>>>> words="stopwords.txt" />
>>>>>>>           <filter class="solr.SynonymFilterFactory"
>>>>>> synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
>>>>>>>           <filter class="solr.KStemFilterFactory"/>
>>>>>>>       </analyzer>
>>>>>>> </fieldType>
>>>>>>> 
>>>>>>> Derek
>>>>>>> 
>>>>>>> ----------------------
>>>>>>> CONFIDENTIALITY NOTICE
>>>>>>> This e-mail (including any attachments) may contain confidential
>> and/or
>>>>>> privileged information. If you are not the intended recipient or have
>>>>>> received this e-mail in error, please inform the sender immediately
>> and
>>>>>> delete this e-mail (including any attachments) from your computer, and
>>>> you
>>>>>> must not use, disclose to anyone else or copy this e-mail (including
>> any
>>>>>> attachments), whether in whole or in part.
>>>>>>> This e-mail and any reply to it may be monitored for security, legal,
>>>>>> regulatory compliance and/or other appropriate reasons.
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> --------------------------
>>>>> 
>>>>> Benedetti Alessandro
>>>>> Visiting card : http://about.me/alessandro_benedetti
>>>>> 
>>>>> "Tyger, tyger burning bright
>>>>> In the forests of the night,
>>>>> What immortal hand or eye
>>>>> Could frame thy fearful symmetry?"
>>>>> 
>>>>> William Blake - Songs of Experience -1794 England
>>>> 
>>>> 
>>> 
>>> 
>>> --
>>> --------------------------
>>> 
>>> Benedetti Alessandro
>>> Visiting card : http://about.me/alessandro_benedetti
>>> 
>>> "Tyger, tyger burning bright
>>> In the forests of the night,
>>> What immortal hand or eye
>>> Could frame thy fearful symmetry?"
>>> 
>>> William Blake - Songs of Experience -1794 England
>> 
>> 
> 
> 
> -- 
> --------------------------
> 
> Benedetti Alessandro
> Visiting card : http://about.me/alessandro_benedetti
> 
> "Tyger, tyger burning bright
> In the forests of the night,
> What immortal hand or eye
> Could frame thy fearful symmetry?"
> 
> William Blake - Songs of Experience -1794 England

Reply via email to