I would like to thank everyone as well. The number of responses were great.
I ended up using Frank Sanders' suggestion; modifying lib-parser-custom.xqy took me all of two minutes. John Craft ________________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mike Sokolov Sent: Thursday, July 10, 2008 12:45 PM To: General Mark Logic Developer Discussion Subject: Re: [MarkLogic Dev General] lib-search, Fields,andcts:field-word-query Thanks to all of you for the info on how to get the field-word-query behavior (three different ways, I think!). I personally think an explicit "code" value is better (#default?) if you are planning to add support to lp:search-field-map. Could any of you take this opportunity to comment on the behavior of cts:field-word-query() within cts:element-query? Does this do anything useful? My initial experiments seem to indicate they don't mix well, but I feel I must be missing something. -Mike Frank Sanders wrote: John, One way I've handled this before when I knew all of my "full text" searches should only be searching within the field's contents is to modify the custom:word-query function within lib-parser-custom.xqy to use a field-word-query instead of a word query. You'll still be able to use the element mappings and such as configured in lib-search so if the user issues query was "foo:bar" to search for documents with the appropriately configured/mapped foo element for the value of bar will continue to behave as before. It's just that any query that would have been a word-query will now be a field-word-query. There may be better, more robust methods to tackle this. But it's a solution I've used in the past. Hope this helps! -fs -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of John Craft Sent: Thursday, July 10, 2008 12:34 PM To: General Mark Logic Developer Discussion Subject: RE: [MarkLogic Dev General] lib-search, Fields,andcts:field-word-query I believe I'm looking for the same answer as Mike. Is there a way to specify a field to search without requiring the user to know the name of the field? Basically, the default search is a fielded search. John Craft ________________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mike Sokolov Sent: Thursday, July 10, 2008 9:37 AM To: General Mark Logic Developer Discussion Subject: Re: [MarkLogic Dev General] lib-search, Fields,andcts:field-word-query Frank did you indicate there was a way to map a search "box" (element, field, parameter - these words are too overloaded) to a field in the lib-search criteria, rather than requiring the user to enter a formatted query (or munging the text of their query)? That would be useful -Mike Frank Rubino wrote: It's the indicator passed in the user's query string: myField:smith It allows you to provide the user with a more friendly syntax. On 7/10/08 9:59 AM, "John Craft" <[EMAIL PROTECTED]> wrote: Frank- In your example below, what does the code attribute map to? John Craft -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Frank Rubino Sent: Thursday, July 10, 2008 8:18 AM To: General Mark Logic Developer Discussion Subject: Re: [MarkLogic Dev General] lib-search, Fields, andcts:field-word-query John- The lib-parser example mapping element is configured to specify field-word queries on a field called "weighted". To use fields you sprecify, you create your own mapping element: declare namespace lp = "http://www.marklogic.com/ps/lib/lib-parser" (:don't forget namespace:) <lp:search-field-map> <lp:mapping code="myField" field="fieldName"/> </lp:search-field-map> The field attribute indicates the name of the field you created in the admin interface. You use this element with lib-search when you create your search-criteria element. Frank On 7/9/08 11:49 PM, "John Craft" <[EMAIL PROTECTED]> wrote: I have created a field with appropriate includes and excludes, but I am having difficulty figuring out how to configure lib-search to search it. lib-search keeps wanting to build cts:word-query() constructors rather than a cts:field-word-query() constructor. I have looked through the code and found the $SEARCH-FIELD-MAP in lib-parser.xqy but I'm not sure exactly how to use it. The example in the documentation seems to indicate <lp:mapping /> is for searching specific elements. Any insight you could share with lib-search and fields would be appreciated. John Craft _______________________________________________ General mailing list [email protected] http://xqzone.com/mailman/listinfo/general Frank Rubino Mark Logic Corp. 862-596-3248 [EMAIL PROTECTED] Frank Rubino Mark Logic Corp. 862-596-3248 [EMAIL PROTECTED] _______________________________________________ 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
