HI Greg. Glad it helped a bit. If the app is in ML itself and you are using ML6 or above, then you could consider using nested map:maps to help build up the query parameters as an option.
Regards, David On 6 December 2013 22:44, Murray, Gregory <[email protected]> wrote: > Hi David, > > Thanks for the suggestions. I see what you mean about exploding and > reconstructing the search terms. That's essentially what I'm doing now. I > take something like > > (encyclopedia OR dictionary) AND (music OR musicology) > > tokenize it, and convert it to > > (title:encyclopedia OR title:dictionary) AND (title:music OR > title:musicology) > > whenever the search needs to be constrained only to book titles. It just > seems rather awkward. As for the programming language, the queries are set > up using XQuery. In fact, it's a web application and all server-side logic > is done in XQuery. > > Thanks, > Greg > > > On Dec 6, 2013, at 2:02 AM, David Ennis wrote: > > HI. > > Since there are soo many ways to search, I am sure you'll get back > plenty of feedback. However, a few notes: > > If I understand what you want, then I believe the cts search items are > more than robust - combination of and/or queries and field/element queries > depending on how your constraints are set up. The important key here is > that in most (if not all) instances of the $text parameter for these > queries accept *one or more terms *as input and are treated as "any term > matching". SO, you could have your terms in a sequence and pass this on as > the values. > > something like this: > > let list1:= ("dictionary", "encyclopedia") > let list2:= ("music", "musicology") > > return cts:search(cts:and-query( > cts:element-value-query(xs:QName("title"), $list1), > cts:element-value-query(xs:QName("title), $list2) > )) > > This above will nto run as-is as you need to look at parameters for the > settings and perhaps you are searching on a field, etc- but should give you > a good primer on the begining ov building complex queries with CTS > > ########### > Separately, as a programmer, I see the issue as manageable in your current > use of the search:search approach. > Building up your parameters and then exploding them into strings with the > proper glue should give you some ease. What language are you preparing > your queries in? > > Regards, > David > > > On 6 December 2013 00:49, Charles Greer <[email protected]> wrote: > >> Hi Greg, >> >> If you want all prefixless searches to be scoped to a particular >> element, use the <term> configuration >> >> <term> >> <default> >> <word> >> <element ns="" name="title"/> >> </word> >> </default> >> </term> >> >> I don't see a way to do exactly what you're looking for however. >> >> Charles >> >> >> On 12/04/2013 11:27 AM, Murray, Gregory wrote: >> > I'm using the Search API, where it's easy enough to set up a word >> constraint for a given element and then use the key:value syntax to search >> only the values of that element, like so: >> > >> > <constraint name="title"> >> > <word> >> > <element ns="http://example.com/ns" name="title"/> >> > </word> >> > </constraint> >> > >> > Then you can search for title:whatever to find titles containing the >> word "whatever". This works great, but it's cumbersome for multi-word >> searches. For example, if I want titles containing both "sound" and "fury", >> I have to search for this: >> > >> > title:sound title:fury >> > >> > It gets worse with situations like this: >> > >> > (title:encyclopedia OR title:dictionary) AND (title:music OR >> title:musicology) >> > >> > Before I dig into trying to customize the search grammar or some such >> -- is there an easier way to perform a word search while applying the >> *entire* search expression only to a given element? >> > >> > Thanks, >> > Greg >> > >> > _______________________________________________ >> > General mailing list >> > [email protected] >> > http://developer.marklogic.com/mailman/listinfo/general >> >> -- >> Charles Greer >> Senior Engineer >> MarkLogic Corporation >> [email protected] >> Phone: +1 707 408 3277 >> www.marklogic.com >> >> _______________________________________________ >> 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
