I think I found the answer to my problem with facet counts not
decreasing as new search:values elements are added to a search-
criteria element. In the function "transform-value-facet-query" in
lib-search.xqy, has this code:
let $new-values := (
if ($scope instance of element(search:element-attr)) then
...
else $search-criteria/search:values
[fn:not(
(./search:element/search:local-name)[1] = $scope/
search:local-name and
((./search:element/search:namespace)[1] = $scope/
search:namespace or
(fn:empty(./search:element/search:namespace/
text()) and fn:empty($scope/search:namespace/text())))) ]
,
if ($new-value) then
<values>
{$scope}
<value>{$new-value}</value>
</values>
else ()
)
return
<search:search-criteria>
{$search-criteria/@*}
{$search-criteria/*[fn:local-name(.) ne "values"]}
{$new-values}
</search:search-criteria>
}
By commenting out the logical test following the line $search-criteria/
search:values, the facet counts adjust as new values are added to the
search criteria.
Alan
On Jun 20, 2008, at 12:15 AM, Alan Darnell wrote:
When I combine a text search with a value search and include an
option to get facet information, the facet information seems to be
based only on the text search and not the combination of the text
and value search. For example, if I run:
import module namespace search="http://www.marklogic.com/ps/lib/lib-search
" at "modules/lib-search.xqy"
import module "http://www.marklogic.com/ps/lib/lib-search" at
"modules/lib-search-custom.xqy"
search:search-summary(
<search:search-criteria fast-pagination="true">
<search:term>
<search:text>water</search:text>
</search:term>
<search:values>
<search:element>
<search:namespace></search:namespace>
<search:local-name>kwd</search:local-name>
</search:element>
<search:value>NMR</search:value>
</search:values>
<search:facet-defs>
<search:facet-def do-count="true">
<search:value-facet>
<search:element>
<search:namespace></search:namespace>
<search:local-name>kwd</search:local-name>
</search:element>
<search:top>10</search:top>
</search:value-facet>
</search:facet-def>
</search:facet-defs>
</search:search-criteria>
,1,1)
I get the following output
<search:search-summary>
<search:statistics>
<search:search-results estimate="1400">
<search:result> ...
</search:result>
</search:search-results>
<search:facets>
<search:facet>
<search:facet-def do-count="true">
<search:value-facet>
<search:element>
<search:namespace/>
<search:local-name>kwd</search:local-name>
</search:element>
<search:top>10</search:top>
</search:value-facet>
</search:facet-def>
<search:all count="712714"/>
<search:item value="Water" count="3390">Water</search:item>
<search:item value="Adsorption" count="2492">Adsorption</search:item>
<search:item value="water" count="1785">water</search:item>
<search:item value="Rat" count="1589">Rat</search:item>
<search:item value="Temperature" count="1407">Temperature</
search:item>
<search:item value="NMR" count="1392">NMR</search:item>
<search:item value="Heavy metals" count="1331">Heavy metals</
search:item>
<search:item value="HPLC" count="1312">HPLC</search:item>
<search:item value="Modelling" count="1303">Modelling</search:item>
<search:item value="Kinetics" count="1295">Kinetics</search:item>
</search:facet>
</search:facets>
</search:search-summary>
----
The facet search:[EMAIL PROTECTED] value is 712714, even though the
search:[EMAIL PROTECTED] is only 1400. Shouldn't these be the
same if the two search criteria were in fact being applied in
calculating the facet counts?
Alan
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general