Note that there are some explanatory texts on larger screens.

plurals
  1. POMarkLogic : Wrong total Count
    primarykey
    data
    text
    <p>I have the two following XML files:</p> <p><strong>Page1.xml</strong></p> <pre><code>&lt;pages xmlns="http://marklogic.com/docs"&gt; &lt;page&gt; &lt;elementNode&gt;data1&lt;/elementNode&gt; &lt;textNode&gt;text1&lt;/textNode&gt; &lt;/page&gt; &lt;page&gt; &lt;elementNode&gt;data1&lt;/elementNode&gt; &lt;textNode&gt;text1&lt;/textNode&gt; &lt;/page&gt; &lt;page&gt; &lt;elementNode&gt;data3&lt;/elementNode&gt; &lt;textNode&gt;text3&lt;/textNode&gt; &lt;/page&gt; &lt;page&gt; &lt;elementNode&gt;data4&lt;/elementNode&gt; &lt;textNode&gt;text4&lt;/textNode&gt; &lt;/page&gt; &lt;pages&gt; </code></pre> <p><strong>Page2.xml</strong></p> <pre><code>&lt;pages xmlns="http://marklogic.com/docs"&gt; &lt;page&gt; &lt;elementNode&gt;data1&lt;/elementNode&gt; &lt;textNode&gt;text1&lt;/textNode&gt; &lt;/page&gt; &lt;page&gt; &lt;elementNode&gt;data2&lt;/elementNode&gt; &lt;textNode&gt;text3&lt;/textNode&gt; &lt;/page&gt; &lt;page&gt; &lt;elementNode&gt;data3&lt;/elementNode&gt; &lt;textNode&gt;text5&lt;/textNode&gt; &lt;/page&gt; &lt;page&gt; &lt;elementNode&gt;data4&lt;/elementNode&gt; &lt;textNode&gt;text6&lt;/textNode&gt; &lt;/page&gt; &lt;pages&gt; </code></pre> <p>I have created an element range index on "elementNode" and also defined the "page" element as a fragment root. I executed the following xquery with searchText "text1" </p> <pre><code>xquery version "1.0-ml"; declare namespace html = "http://www.w3.org/1999/xhtml"; declare namespace ts= "http://marklogic.com/docs"; import module namespace search ="http://marklogic.com/appservices/search" at "/MarkLogic/appservices/search/search.xqy"; declare variable $options := &lt;options xmlns="http://marklogic.com/appservices/search"&gt; &lt;grammar&gt; &lt;starter strength="30" apply="grouping" delimiter=")"&gt;(&lt;/starter&gt; &lt;starter strength="40" apply="prefix" element="cts:not-query"&gt;NOT&lt;/starter&gt; &lt;joiner strength="10" apply="infix" element="cts:or-query" tokenize="word"&gt;OR&lt;/joiner&gt; &lt;joiner strength="20" apply="infix" element="cts:and-query" tokenize="word"&gt;AND&lt;/joiner&gt; &lt;joiner strength="50" apply="constraint"&gt;:&lt;/joiner&gt; &lt;/grammar&gt; &lt;constraint name="elementNode"&gt; &lt;range collation="http://marklogic.com/collation/" type="xs:string"&gt; &lt;facet-option&gt;limit=1000&lt;/facet-option&gt; &lt;element ns="http://marklogic.com/docs" name="elementNode"/&gt; &lt;/range&gt; &lt;/constraint&gt; &lt;/options&gt;; let $searchResult := search:search("text1", $options) return $searchResult </code></pre> <p>After executing the query I got the following response:</p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;search:response total="3" start="1" page-length="10" xmlns="" xmlns:search="http://marklogic.com/appservices/search"&gt; &lt;search:result index="1" uri="/content/C/Documents and Settings/vimleshm/Desktop/abc.xml" path="fn:doc(&amp;quot;/content/C/Documents and Settings/vimleshm/Desktop/abc.xml&amp;quot;)" score="22784" confidence="0.451657" fitness="0.663945"&gt; &lt;search:snippet&gt; &lt;search:match path="fn:doc(&amp;quot;/content/C/Documents and Settings/vimleshm/Desktop/abc.xml&amp;quot;)/*:pages/*:page[1]"&gt; &lt;search:highlight&gt;text1&lt;/search:highlight&gt; &lt;/search:match&gt; &lt;search:match path="fn:doc(&amp;quot;/content/C/Documents and Settings/vimleshm/Desktop/abc.xml&amp;quot;)/*:pages/*:page[2]"&gt; &lt;search:highlight&gt;text1&lt;/search:highlight&gt; &lt;/search:match&gt; &lt;/search:snippet&gt; &lt;/search:result&gt; &lt;search:result index="2" uri="/content/C/Documents and Settings/vimleshm/Desktop/abc1.xml" path="fn:doc(&amp;quot;/content/C/Documents and Settings/vimleshm/Desktop/abc1.xml&amp;quot;)" score="22784" confidence="0.451657" fitness="0.663945"&gt; &lt;search:snippet&gt; &lt;search:match path="fn:doc(&amp;quot;/content/C/Documents and Settings/vimleshm/Desktop/abc1.xml&amp;quot;)/*:pages/*:page[1]"&gt; &lt;search:highlight&gt;text1&lt;/search:highlight&gt; &lt;/search:match&gt; &lt;/search:snippet&gt; &lt;/search:result&gt; &lt;search:facet name="elementNode"&gt; &lt;search:facet-value name="data1" count="3"&gt;data1&lt;/search:facet-value&gt; &lt;/search:facet&gt; &lt;search:qtext&gt;text1&lt;/search:qtext&gt; &lt;search:metrics&gt; &lt;search:query-resolution-time&gt;PT0S&lt;/search:query-resolution-time&gt; &lt;search:facet-resolution-time&gt;PT0.015S&lt;/search:facet-resolution-time&gt; &lt;search:snippet-resolution-time&gt;PT0S&lt;/search:snippet-resolution-time&gt; &lt;search:total-time&gt;PT0.015S&lt;/search:total-time&gt; &lt;/search:metrics&gt; &lt;/search:response&gt; </code></pre> <p>Now as you can see here the "total" attribute of <code>search:response</code> is "3" here because I have defined "page" as a fragment root [<a href="https://stackoverflow.com/questions/12435620/marklogic-wrong-count-and-facet-result-xquery]">Marklogic Wrong count and Facet result Xquery</a>. Is there any way to get the correct total count, which would be "2" here since "text1" exists only in Page1.xml and Page2.xml? Also, I got facet "data2" with count "3", which should be "2" since it exists in two XML files as in the previous case. Please help me on this.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload