[MarkLogic Dev General] Lib search facets based search
Alan Darnell
alan.darnell at utoronto.ca
Fri Jul 11 09:20:51 PDT 2008
Ashish,
Here's the facet definition section in the lib-search-custom file that
we use and that works for us. Of course, we have range indexes
defined for each of the element or attributes we want to facet on.
Alan
<facets>
<default-do-count>true</default-do-count>
<search:value-facet id="kwd-facet">
<search:element>
<search:local-name>kwd</search:local-name>
</search:element>
<search:top>10</search:top>
</search:value-facet>
<search:value-facet id="journal-facet">
<search:element>
<search:local-name>journal-title</search:local-name>
</search:element>
<search:top>10</search:top>
</search:value-facet>
<search:value-facet id="article-type-facet">
<search:element-attr>
<search:local-name>article</search:local-name>
<search:attr-local-name>article-type</search:attr-
local-name>
</search:element-attr>
<search:top>10</search:top>
</search:value-facet>
</facets>
On Jul 11, 2008, at 5:23 AM, Ashish Kumar wrote:
> Hi,
>
> I am trying to work out facet based search. Basically I have added
> <facet-def in search criteria and facets in lib-search-custom.xqy.
>
> I do get search:search-summary along with
> parse/search/estimate/summary/facet time and document-uri in the
> results
>
> But I dont see any results for facets based search. Basically I have 5
> articles in the database and all have PublisherName tag.
>
> So I suppose it should give results for "PublisherName" with the
> total no
> articles as 5.
>
> What I am missing here.
>
> Pointers to the following will be appreciated. Here goes the code.
>
> 1. Search Criteria in cq
> import module namespace search="http://www.marklogic.com/ps/lib/lib-search
> "
> at "lib-search.xqy"
> import module "http://www.marklogic.com/ps/lib/lib-search" at
> "lib-search-custom.xqy"
>
> search:search-summary(
> <search:search-criteria>
> <search:term><search:text>cell</search:text></search:term>
> <facet-def do-count="true">
> <facet-def-id>PublisherName-facet-id</facet-def-id>
> </facet-def>
>
> </search:search-criteria>
> , 1, 5)
>
> 2. Config element in lib-search-custorm.xqy
> define variable $CONFIG as element(cfg:config) {
> (: Configuration file -- Put whatever you want here, or nothing
> at all.
> :)
> <config xmlns="http://www.marklogic.com/ps/lib/lib-search/config">
> <search>
> <namespaces>
> <namespace
> prefix="sp">http://www.foo.com</namespace>
> </namespaces>
>
> <base-criteria>
> <search:directories depth="infinity">
>
> <search:directory>lib-searchWebDev/</search:directory>
> </search:directories>
> </base-criteria>
> <sort-fields>
> <sort-field
> id="ChapterTitle"
> type="xs:string"
> direction="ascending">
>
> Publisher//Chapter/ChapterInfo/ChapterTitle
> </sort-field>
> <sort-field
> id="CopyrightYear"
> type="xs:integer"
> direction="ascending">
>
> Publisher//Chapter//ChapterCopyright/CopyrightYear
> </sort-field>
>
> </sort-fields>
> <max-summarize-matches>5</max-summarize-matches>
> <truncate-word-count>7</truncate-word-count>
> </search>
> <facets>
> <default-do-count>true</default-do-count>
> <search:value-facet id="PublisherName-facet-id">
> <search:element id="PublisherName">
> <search:namespace></search:namespace>
>
> <search:local-name>PublisherName</search:local-name>
> </search:element>
> </search:value-facet>
> </facets>
>
>
> </config>
> }
>
>
> _______________________________________________
> General mailing list
> General at developer.marklogic.com
> http://xqzone.com/mailman/listinfo/general
More information about the General
mailing list