Hi Geert,
The value of parameter is like:
                                        $search-condition :"Title":"*hits*" AND 
sort:ModifiedDate AND modified-date:span
                                        $show-me :"Course"
                                        $start-date: "0001-01-01T00:00:00"
                                        $end-date :" 2012-04-05T00:00:00"
                                        $uris :""
                                        $page-size :10
                                        $page :1


Thanks,
Sunny Wang01




-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Geert Josten
Sent: 2012年5月9日 22:22
To: MarkLogic Developer Discussion
Subject: Re: [MarkLogic Dev General] The value of @total is not right

Hi Sunny,

And an example of the search-condition perhaps?

On a side track: where do start and end date come from?

Kind regards,
Geert

> -----Oorspronkelijk bericht-----
> Van: [email protected] [mailto:general- 
> [email protected]] Namens Sunny Wang01
> Verzonden: woensdag 9 mei 2012 11:35
> Aan: MarkLogic Developer Discussion
> Onderwerp: Re: [MarkLogic Dev General] The value of @total is not 
> right
>
> Hi,
> The below is my one method, the index for search I have added.
>
> declare function local:get-search-result($search-condition as
xs:string*,
>                                       $show-me as xs:string* ,
>                                       $start-date as xs:string* ,
>                                       $end-date as xs:string*,
>                                       $uris as xs:string*,
>                                       $page-size as xs:int ,
>                                       $page as xs:int) as item()*
> {
>
> (:--------------------------------construct the search condition
--------------------------
> -----------:)
>
>       let $collection:=
>               if($show-me eq ("Everything" , "All", "") or
fn:empty($show-me))
> then
>                       cts:collection-
> query(("ResourceCollection","FileCollection","CourseCollection"))
>               else cts:collection-query("CourseCollection")
>
>       let $options:=  <search:options>
>                               <search:constraint name="modified-date">
>                                       <search:range type="xs:dateTime">
>                                               <search:element
> ns="http://www.careered.com/Version"; name="ModifiedDate"/>
>                                               <search:bucket ge={$start-
> date} lt={$end-date} name="span"/>
>                                       </search:range>
>                               </search:constraint>
>                               <search:constraint name="created-date">
>                                       <search:range type="xs:dateTime">
>                                               <search:element
> ns="http://www.careered.com/Metadata"; name="CreateDate"/>
>                                               <search:bucket ge={$start-
> date} lt={$end-date} name="span"/>
>                                       </search:range>
>                               </search:constraint>
>                               <search:operator name="sort">
>                                       <search:state name="Title">
>                                               <search:sort-order
> direction="ascending" type="xs:string">
>                                                       <search:element
> ns="http://www.careered.com/Metadata"; name="Title" />
>                                               </search:sort-order>
>                                       </search:state>
>                                       <search:state name="ModifiedDate">
>                                               <search:sort-order
> direction="descending" type="xs:dateTime">
>                                                       <search:element
> ns="http://www.careered.com/Version"; name="ModifiedDate" />
>                                               </search:sort-order>
>                                       </search:state>
>                                       <search:state name="CreateDate">
>                                               <search:sort-order
> direction="descending" type="xs:dateTime">
>                                                       <search:element
> ns="http://www.careered.com/Metadata"; name="CreateDate" />
>                                               </search:sort-order>
>                                       </search:state>
>                                       <search:state name="Institution">
>                                               <search:sort-order
> direction="ascending" type="xs:string">
>                                                       <search:element
> ns="http://www.careered.com/CourseElement"; name="Institution" />
>                                               </search:sort-order>
>                                       </search:state>
>                               </search:operator>
>                               <search:constraint name="Description">
>                                   <search:word>
>                                         <search:element
> ns="http://www.careered.com/Metadata"; name="Description"/>
>                                   </search:word>
>                               </search:constraint>
>                               <search:constraint name="Category">
>                                   <search:word>
>                                         <search:element
> ns="http://www.careered.com/CourseElement"; name="Category"/>
>                                   </search:word>
>                               </search:constraint>
>                               <search:constraint name="Title">
>                                   <search:word>
>                                         <search:element
> ns="http://www.careered.com/Metadata"; name="Title"/>
>                                   </search:word>
>                               </search:constraint>
>                               <search:constraint name="CourseCode">
>                                   <search:value>
>                                         <search:element
> ns="http://www.careered.com/CourseElement"; name="CourseCode"/>
>                                   </search:value>
>                               </search:constraint>
>                               <search:constraint name="ID">
>                                   <search:value>
>                                         <search:element
> ns="http://www.careered.com/Metadata"; name="ID"/>
>                                   </search:value>
>                               </search:constraint>
>                               <search:constraint name="Keywords">
>                                   <search:word>
>                                         <search:element
> ns="http://www.careered.com/Metadata"; name="Keywords"/>
>                                   </search:word>
>                               </search:constraint>
>                               <search:constraint name="Author">
>                                   <search:value>
>                                         <search:element
> ns="http://www.careered.com/Metadata"; name="Author"/>
>                                   </search:value>
>                               </search:constraint>
>                               <search:constraint name="Note">
>                                   <search:word>
>                                         <search:element
> ns="http://www.careered.com/Version"; name="Note"/>
>                                   </search:word>
>                               </search:constraint>
>                               <search:constraint name="ModifiedBy">
>                                   <search:value>
>                                         <search:element
> ns="http://www.careered.com/Version"; name="ModifiedBy"/>
>                                   </search:value>
>                               </search:constraint>
>                               <search:constraint name="Language">
>                                   <search:value>
>                                         <search:element
> ns="http://www.careered.com/Metadata"; name="Language"/>
>                                   </search:value>
>                               </search:constraint>
>                               <search:constraint name="FileType">
>                                   <search:value>
>                                         <search:element
> ns="http://www.careered.com/CourseElement"; name="FileType"/>
>                                   </search:value>
>                               </search:constraint>
>                               <search:constraint name="Identifier">
>                                   <search:value>
>                                         <search:element
> ns="http://www.careered.com/CourseElement"; name="Identifier"/>
>                                   </search:value>
>                               </search:constraint>
>                               <search:constraint name="IsActive">
>                                   <search:value>
>                                         <search:element
> ns="http://www.careered.com/Metadata"; name="IsActive"/>
>                                   </search:value>
>                               </search:constraint>
>                               <search:constraint
name="Is3rdPartyContent">
>                                   <search:value>
>                                         <search:element
> ns="http://www.careered.com/CourseElement"; name="Is3rdPartyContent"/>
>                                   </search:value>
>                               </search:constraint>
>                               <search:constraint name="ResourceType">
>                                   <search:value>
>                                         <search:element
> ns="http://www.careered.com/CourseElement"; name="ResourceType"/>
>                                   </search:value>
>                               </search:constraint>
>                               <search:additional-query>
>                                       {
>                                               if(fn:empty($uris) or
$uris eq "")
> then ()
>                                               else
>                                                       cts:document-
> query(($uris))
>                                       }
>                               </search:additional-query>
>                                <search:additional-
> query>{$collection}</search:additional-query>
>                                <search:additional-query>{dls:documents-
> query()}</search:additional-query>
>                                <search:term-option>case-
> insensitive</search:term-option>
>                                <search:term-
> option>wildcarded</search:term-option>
>                                <search:term-option>diacritic-
> insensitive</search:term-option>
>                       </search:options>
>
> (:----------------------------------------get search result
-----------------------------------
> --------:)
>
>       return search:search($search-condition,$options,$page-size *
($page -
> 1)+1,$page-size)
>
> };
>
>
> Thanks,
> Sunny Wang01
>
>
> -----Original Message-----
> From: [email protected] [mailto:general- 
> [email protected]] On Behalf Of Geert Josten
> Sent: 2012年5月9日 16:30
> To: MarkLogic Developer Discussion
> Subject: Re: [MarkLogic Dev General] The value of @total is not right
>
> Hi Sunny,
>
> That is a known 'issue'. It is because search results are counted in
so-called
> 'unfiltered' mode for performance reasons. It uses xdmp:estimate under
the
> hood. Apparently you are doing a search that requires filtering of
search results.
> Can you give some more details about your search query?
>
> Kind regards,
> Geert
>
> > -----Oorspronkelijk bericht-----
> > Van: [email protected] [mailto:general- 
> > [email protected]] Namens Sunny Wang01
> > Verzonden: woensdag 9 mei 2012 9:40
> > Aan: MarkLogic Developer Discussion
> > Onderwerp: [MarkLogic Dev General] The value of @total is not right
> >
> > Hi,
> >
> > Could you help to resolve the below issue?
> >
> > Using search:search in the Marklogic retrieve the search result, but 
> > the
> returned
> > value @total is sometimes  bigger than the real count of search 
> > result,
> it makes
> > the pagination doesn't work correctly.
> >
> > Thanks,
> > Sunny Wang01
> >
> > **************** CAUTION - Disclaimer ***************** This e-mail 
> > contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for 
> > the use of the addressee(s). If you are not the intended recipient,
> please
> > notify the sender by e-mail and delete the original message. 
> > Further,
> you are not
> > to copy, disclose, or distribute this e-mail or its contents to any
> other person and
> > any such actions are unlawful. This e-mail may contain viruses.
> > Infosys
> has taken
> > every reasonable precaution to minimize this risk, but is not liable 
> > for
> any
> > damage
> > you may sustain as a result of any virus in this e-mail. You should
> carry out your
> > own virus checks before opening the e-mail or attachment. Infosys
> reserves the
> > right to monitor and review the content of all messages sent to or 
> > from
> this e-
> > mail
> > address. Messages sent to or from this e-mail address may be stored 
> > on
> the
> > Infosys e-mail system.
> > ***INFOSYS******** End of Disclaimer ********INFOSYS*** 
> > _______________________________________________
> > 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
_______________________________________________
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