[MarkLogic Dev General] lib-search, Fields,
andcts:field-word-query
John Craft
jcraft at jonesmcclure.com
Thu Jul 10 13:17:50 PDT 2008
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: general-bounces at developer.marklogic.com [mailto:general-bounces at developer.marklogic.com] 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: general-bounces at developer.marklogic.com
[mailto:general-bounces at developer.marklogic.com] 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: general-bounces at developer.marklogic.com
[mailto:general-bounces at developer.marklogic.com] 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" <jcraft at jonesmcclure.com> wrote:
Frank-
In your example below, what does the code attribute map to?
John Craft
-----Original Message-----
From: general-bounces at developer.marklogic.com
[mailto:general-bounces at developer.marklogic.com] 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" <jcraft at jonesmcclure.com> 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
General at developer.marklogic.com
http://xqzone.com/mailman/listinfo/general
Frank Rubino
Mark Logic Corp.
862-596-3248
Frank.Rubino at marklogic.com
Frank Rubino
Mark Logic Corp.
862-596-3248
Frank.Rubino at marklogic.com
_______________________________________________
General mailing list
General at developer.marklogic.com
http://xqzone.com/mailman/listinfo/general
________________________________________
_______________________________________________
General mailing list
General at developer.marklogic.com
http://xqzone.com/mailman/listinfo/general
More information about the General
mailing list