Hi All, Given the following two documents: <doc> <a> <name>Bob</name> <b> <name>Jim</name> </b> </a> </doc>
<doc> <a> <name>Jim</name> <b> <name>Bob</name> </b> </a> </doc>> The following returns just the first document: fn:doc()[./doc/a/name = "Bob"] I'd like to be able to get the same result using cts:query. Specifying the exact elements to search using the cts:element-query and cts:element-word-query as below, matches both documents when I would like only the first to match. let $q := <q><cts:element-query> <cts:element>doc</cts:element> <cts:element-query> <cts:element>a</cts:element> <cts:element-word-query> <cts:element>name</cts:element> <cts:text xml:lang="en">Bob</cts:text> </cts:element-word-query> </cts:element-query> </cts:element-query></q> return search:resolve($q/element()) ==> <search:response total="2" start="1" page-length="10" xmlns:search="http://marklogic.com/appservices/search"> <search:result index="1" uri="/bobtest" path="fn:doc("/bobtest")" score="56" confidence="0.491559" fitness="0.651473"> <search:snippet> <search:match path="fn:doc("/bobtest")/doc/a/name"> <search:highlight>Bob</search:highlight> </search:match> </search:snippet> </search:result> <search:result index="2" uri="/bobtest2" path="fn:doc("/bobtest2")" score="56" confidence="0.491559" fitness="0.651473"> <search:snippet> <search:match path="fn:doc("/bobtest2")/doc/a/b/name"> <search:highlight>Bob</search:highlight> </search:match> </search:snippet> </search:result> <search:metrics> <search:query-resolution-time>PT0.094S</search:query-resolution-time> <search:facet-resolution-time>PT0S</search:facet-resolution-time> <search:snippet-resolution-time>PT0S</search:snippet-resolution-time> <search:total-time>PT0.094S</search:total-time> </search:metrics> </search:response> The API docs for cts:element-word-query state: "Returns a query matching elements by name with text content containing a given phrase. Searches only through immediate text node children of the specified element as well as any text node children of child elements defined in the Admin Interface as element-word-query-throughs or phrase-throughs; does not search through any other children of the specified element." No query or phrase throughs have been configured. Is my query incorrect for what I'm trying to accomplish? Thanks. Bob _______________________________________________ General mailing list [email protected] http://xqzone.com/mailman/listinfo/general
