Hi Charles (or anyone who might happen to know),

Do you know if this bug has been fixed in ML 7.0? I'm still on 6.x, but I'd 
upgrade for this bug fix alone.

Thanks,
Greg


On Dec 12, 2013, at 8:43 AM, Murray, Gregory wrote:

> Excellent. Thanks, Charles!
> 
> On Dec 11, 2013, at 2:42 PM, Charles Greer wrote:
> 
>> Hi Greg (and Mike),
>> 
>> Thanks for the clear reproduction.  I've filed a bug to fix this situation.
>> 
>> Charles
>> 
>> 
>> 
>> On 12/09/2013 12:14 PM, Murray, Gregory wrote:
>>> Thanks, Mike. Good to know. Looks like the output of search:parse confirms 
>>> what I had found informally.
>>> 
>>> 
>>> On Dec 9, 2013, at 1:55 PM, Michael Blakeley wrote:
>>> 
>>>> I couldn't say if that's a bug in your options or somewhere in search.xqy, 
>>>> but I thought I'd pass along a debugging tip. Call search:parse so you can 
>>>> see the query that is generated - and so other folks can reproduce the 
>>>> problem. It's also a good idea to verify your options using 
>>>> search:check-options and the strict option: yours seem to be ok.
>>>> 
>>>> xquery version "1.0-ml";
>>>> import module namespace search="http://marklogic.com/appservices/search";
>>>> at "/MarkLogic/appservices/search/search.xqy";
>>>> let $options :=
>>>> <options xmlns="http://marklogic.com/appservices/search";>
>>>>  <constraint name="title">
>>>>    <word>
>>>>      <element ns="http://digital.library.ptsem.edu/ia"; name="title"/>
>>>>    </word>
>>>>  </constraint>
>>>>  <term>
>>>>    <default ref="title"/>
>>>>  </term>
>>>> </options>
>>>> return (
>>>> search:check-options($options, true()),
>>>> search:parse('"king james" OR authorized', $options))
>>>> 
>>>> =>
>>>> <cts:or-query qtextjoin="OR" strength="10" qtextgroup="( )" 
>>>> xmlns:cts="http://marklogic.com/cts"; 
>>>> xmlns:xs="http://www.w3.org/2001/XMLSchema";>
>>>> <cts:word-query qtextpre="&quot;" qtextref="cts:text" qtextpost="&quot;">
>>>>   <cts:text>king james</cts:text>
>>>> </cts:word-query>
>>>> <cts:element-word-query qtextref="cts:text">
>>>>   <cts:element 
>>>> xmlns:_1="http://digital.library.ptsem.edu/ia";>_1:title</cts:element>
>>>>   <cts:text>authorized</cts:text>
>>>> </cts:element-word-query>
>>>> </cts:or-query>
>>>> 
>>>> This makes it obvious that the resulting query is not what you want: "king 
>>>> james" term is a simple word-query term, and the "authorized" term is an 
>>>> element-word-query term.
>>>> 
>>>> -- Mike
>>>> 
>>>> On 9 Dec 2013, at 09:47 , Murray, Gregory <[email protected]> wrote:
>>>> 
>>>>> After further experimentation, I am finding that <default> doesn't work 
>>>>> as I would expect when an exact phrase is involved. For example, I was 
>>>>> expecting this query:
>>>>> 
>>>>> xquery version "1.0-ml";
>>>>> import module namespace search="http://marklogic.com/appservices/search"; 
>>>>> at "/MarkLogic/appservices/search/search.xqy";
>>>>> let $options :=
>>>>> <options xmlns="http://marklogic.com/appservices/search";>
>>>>>  <constraint name="title">
>>>>>    <word>
>>>>>      <element ns="http://digital.library.ptsem.edu/ia"; name="title"/>
>>>>>    </word>
>>>>>  </constraint>
>>>>>  <term>
>>>>>    <default ref="title"/>
>>>>>  </term>
>>>>> </options>
>>>>> return search:search('"king james" OR authorized', $options)
>>>>> 
>>>>> to return the same results as this query:
>>>>> 
>>>>> xquery version "1.0-ml";
>>>>> import module namespace search="http://marklogic.com/appservices/search"; 
>>>>> at "/MarkLogic/appservices/search/search.xqy";
>>>>> let $options :=
>>>>> <options xmlns="http://marklogic.com/appservices/search";>
>>>>>  <constraint name="title">
>>>>>    <word>
>>>>>      <element ns="http://digital.library.ptsem.edu/ia"; name="title"/>
>>>>>    </word>
>>>>>  </constraint>
>>>>> </options>
>>>>> return search:search('title:"king james" OR title:authorized', $options)
>>>>> 
>>>>> Not so! Instead, query #1 returns the same results as taking query #2 and 
>>>>> changing title:"king james" to "king james" -- which clearly indicates 
>>>>> that the <default> option is NOT applying the "title" constraint to 
>>>>> quoted/exact phrases.
>>>>> 
>>>>> Could this be a bug? The documentation for search:search, in the 
>>>>> description of <term>, says that <default> "determines special handling 
>>>>> to all terms". In my mind, an exact phrase *is* a term, and therefore the 
>>>>> <default> constraint should be applied to exact phrases -- or am I 
>>>>> misunderstanding what a "term" is?
>>>> _______________________________________________
>>>> General mailing list
>>>> [email protected]
>>>> http://developer.marklogic.com/mailman/listinfo/general
>>> _______________________________________________
>>> General mailing list
>>> [email protected]
>>> http://developer.marklogic.com/mailman/listinfo/general
>> 
>> -- 
>> Charles Greer
>> Senior Engineer
>> MarkLogic Corporation
>> [email protected]
>> Phone: +1 707 408 3277
>> www.marklogic.com
>> 
>> _______________________________________________
>> General mailing list
>> [email protected]
>> http://developer.marklogic.com/mailman/listinfo/general
> 
> _______________________________________________
> General mailing list
> [email protected]
> http://developer.marklogic.com/mailman/listinfo/general

_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to