Thanks for the tip, David. I'll definitely take a look at the Application Builder approach.
On Wed, Jul 1, 2009 at 7:56 PM, David Amusin<[email protected]> wrote: > > > Hi Mattio, > > I would go with the first approach: "pass the <search:response> node off to > another function and iterate through each <search:result>". > > The expensive part of your code will most likely be calls to the database. > Although you are calling fn:doc for each item in the search results (ex: 10 > calls to fn:doc if there are 10 search results), you are not doing any > additional calls to cts:search, which is typically the most expensive part > of your XQuery (search:search uses cts:search under the covers), so your > code should not become too much slower. > > You might take a quick look at a generated application from the Application > Builder (for example, the Oscars application) because the generated > applications use the technique of calling fn:doc on each of the search > results to get per-result-document metadata. > > David > > > > > > David Amusin > Software Engineer > Mark Logic Corporation > 999 Skyway Road > Suite 200 > San Carlos, CA 94070 > +1 650 207 2308 Cell > +1 650 655 2310 Fax > [email protected] > www.marklogic.com > > > > This e-mail and any accompanying attachments are confidential. The > information is intended solely for the use of the individual to whom it is > addressed. Any review, disclosure, distribution, or use of this e-mail > communication by others is strictly prohibited. If you are not the intended > recipient, please notify us by returning this message to the sender and > delete all copies. Thank you for your cooperation. > > > > > > > On 7/1/09 4:17 PM, "Mattio Valentino" <[email protected]> wrote: > > First, I'd like to say thanks for releasing the Search API with 4.1! > I'm hopeful that it can replace some of my existing code that I'm less > than satisfied with. > > One of the first questions I have is about adding elements to > <search:result>. When I return an item to the UI, I need to return > some metadata as well -- title, author, etc. What's the best way to > add this? One approach seemed to be to pass the <search:response> > node off to another function and iterate through each <search:result>, > but that optioned seemed to mean I'd be processing the same result > item twice, once to process the original result and a second time to > grab the metadata. A second option was cracking open search-impl.xqy > where I was able to add the elements I needed after line 902 > (attribute fitness {cts:fitness($result)},), but that option means > it's more difficult for me to upgrade when the next release comes out, > of course. > > Is there another option that I've missed? Can anyone recommend an approach? > > Thanks! > Mattio > _______________________________________________ > General mailing list > [email protected] > http://xqzone.com/mailman/listinfo/general > > > _______________________________________________ > General mailing list > [email protected] > http://xqzone.com/mailman/listinfo/general > > _______________________________________________ General mailing list [email protected] http://xqzone.com/mailman/listinfo/general
