David,

Options are merged at the level of $options/search:*, so by defining the 
grammar as you've shown below, you've lost the rest of the grammar.

Try this (assuming it's in the http://marklogic.com/appservices/search 
namespace):

<grammar>
  <quotation>"</quotation>
  <starter strength="30" apply="grouping" delimiter=")">(</starter>
  <starter strength="40" apply="prefix" element="cts:not-query">-</starter>
  <joiner strength="10" apply="infix" element="cts:or-query" 
tokenize="word">OR</joiner>
  <joiner strength="20" apply="infix" element="cts:and-query" 
tokenize="word">AND</joiner>
  <joiner strength="50" apply="constraint">|</joiner>
</grammar>

Note that you can get the default grammar to use as a starting point using this 
query:
import module namespace search = "http://marklogic.com/appservices/search"; at 
"/MarkLogic/appservices/search/search.xqy";
search:get-default-options()/search:grammar

Cheers,

--Colleen
________________________________________
From: [email protected] 
[[email protected]] On Behalf Of David Scott Gurney 
[[email protected]]
Sent: Friday, October 02, 2009 9:25 AM
To: [email protected]
Subject: [MarkLogic Dev General] search:search <joiner> question

I would like to change the default joiner string for a facet search.  The 
default is the colon character “:” and I need some other character (or set or 
characters).

I have tried adding a <grammar> element as follows:

<grammar>
      <joiner strength="50" apply="facet">|</joiner>
</grammar>

This seems to follow the documentation for changing this value.

http://developer.marklogic.com/pubs/4.1/apidocs/SearchAPI.html#search:search

I get the error shown below which seems to indicate that the “facet” value of 
the apply attribute is not correct.

Could someone send me a sample of how to change the joiner string?

Thanks
David



[1.0-ml] SEARCH-APPLYUNDEFINED: (err:FOER0000) Value of @apply undefined: facet
Stack trace:
in /MarkLogic/appservices/search/search-impl.xqy line 380:
impl:joiner-dispatch((<tok type="term" from="1">series</tok>, <tok 
type="joiner" from="7"><joiner strength="50" apply="facet" 
xmlns="http://marklogic.com/...</tok>, <tok 
type=<http://marklogic.com/...%3c/tok%3e,%20%3ctok%20type=>"term" 
from="8">Documents</tok>, ...), 2, <cts:word-query qtextref="cts:text" 
xmlns:cts="http://marklogic.com/cts";><cts:text>series</cts:text><cts:option>case-insensitive</cts:opt...</cts:word-query>,
 <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>)

$toks := (<tok type="term" from="1">series</tok>, <tok type="joiner" 
from="7"><joiner strength="50" apply="facet" 
xmlns="http://marklogic.com/...</tok>, <tok 
type=<http://marklogic.com/...%3c/tok%3e,%20%3ctok%20type=>"term" 
from="8">Documents</tok>, ...)
$toknum := 2
$left := <cts:word-query qtextref="cts:text" 
xmlns:cts="http://marklogic.com/cts";><cts:text>series</cts:text><cts:option>case-insensitive</cts:opt...</cts:word-query>
$stab := <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>
$symbol := <joiner strength="50" apply="facet" 
xmlns="http://marklogic.com/appservices/search";>|</joiner>
$fname := attribute{QName("", "apply")}{"facet"}
in /MarkLogic/appservices/search/search-impl.xqy line 322:
impl:inner-expression((<tok type="term" from="1">series</tok>, <tok 
type="joiner" from="7"><joiner strength="50" apply="facet" 
xmlns="http://marklogic.com/...</tok>, <tok 
type=<http://marklogic.com/...%3c/tok%3e,%20%3ctok%20type=>"term" 
from="8">Documents</tok>, ...), 2, <cts:word-query qtextref="cts:text" 
xmlns:cts="http://marklogic.com/cts";><cts:text>series</cts:text><cts:option>case-insensitive</cts:opt...</cts:word-query>,
 <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>, 0)

$toks := (<tok type="term" from="1">series</tok>, <tok type="joiner" 
from="7"><joiner strength="50" apply="facet" 
xmlns="http://marklogic.com/...</tok>, <tok 
type=<http://marklogic.com/...%3c/tok%3e,%20%3ctok%20type=>"term" 
from="8">Documents</tok>, ...)
$toknum := 2
$left := <cts:word-query qtextref="cts:text" 
xmlns:cts="http://marklogic.com/cts";><cts:text>series</cts:text><cts:option>case-insensitive</cts:opt...</cts:word-query>
$stab := <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>
$rbp := 0
$lbp := xs:double("50")
in /MarkLogic/appservices/search/search-impl.xqy line 314:
impl:expression((<tok type="term" from="1">series</tok>, <tok type="joiner" 
from="7"><joiner strength="50" apply="facet" 
xmlns="http://marklogic.com/...</tok>, <tok 
type=<http://marklogic.com/...%3c/tok%3e,%20%3ctok%20type=>"term" 
from="8">Documents</tok>, ...), 1, <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>, 0)

$toks := (<tok type="term" from="1">series</tok>, <tok type="joiner" 
from="7"><joiner strength="50" apply="facet" 
xmlns="http://marklogic.com/...</tok>, <tok 
type=<http://marklogic.com/...%3c/tok%3e,%20%3ctok%20type=>"term" 
from="8">Documents</tok>, ...)
$toknum := 1
$stab := <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>
$rbp := 0
$pair := (2, <cts:word-query qtextref="cts:text" 
xmlns:cts="http://marklogic.com/cts";><cts:text>series</cts:text><cts:option>case-insensitive</cts:opt...</cts:word-query>)
in /MarkLogic/appservices/search/search-impl.xqy line 292:
impl:expressions((<tok type="term" from="1">series</tok>, <tok type="joiner" 
from="7"><joiner strength="50" apply="facet" 
xmlns="http://marklogic.com/...</tok>, <tok 
type=<http://marklogic.com/...%3c/tok%3e,%20%3ctok%20type=>"term" 
from="8">Documents</tok>, ...), 1, <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>, 0, "")

$toks := (<tok type="term" from="1">series</tok>, <tok type="joiner" 
from="7"><joiner strength="50" apply="facet" 
xmlns="http://marklogic.com/...</tok>, <tok 
type=<http://marklogic.com/...%3c/tok%3e,%20%3ctok%20type=>"term" 
from="8">Documents</tok>, ...)
$toknum := 1
$stab := <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>
$rbp := 0
$until := ""
in /MarkLogic/appservices/search/search-impl.xqy line 270:
impl:do-parse((<tok type="term" from="1">series</tok>, <tok type="joiner" 
from="7"><joiner strength="50" apply="facet" 
xmlns="http://marklogic.com/...</tok>, <tok 
type=<http://marklogic.com/...%3c/tok%3e,%20%3ctok%20type=>"term" 
from="8">Documents</tok>, ...), <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>, 0)

$toks := (<tok type="term" from="1">series</tok>, <tok type="joiner" 
from="7"><joiner strength="50" apply="facet" 
xmlns="http://marklogic.com/...</tok>, <tok 
type=<http://marklogic.com/...%3c/tok%3e,%20%3ctok%20type=>"term" 
from="8">Documents</tok>, ...)
$stab := <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>
$pos := 0
$toknum := 1
in /MarkLogic/appservices/search/search-impl.xqy line 254:
impl:parse((<tok type="term" from="1">series</tok>, <tok type="joiner" 
from="7"><joiner strength="50" apply="facet" 
xmlns="http://marklogic.com/...</tok>, <tok 
type=<http://marklogic.com/...%3c/tok%3e,%20%3ctok%20type=>"term" 
from="8">Documents</tok>, ...), <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>, 0)

$toks := (<tok type="term" from="1">series</tok>, <tok type="joiner" 
from="7"><joiner strength="50" apply="facet" 
xmlns="http://marklogic.com/...</tok>, <tok 
type=<http://marklogic.com/...%3c/tok%3e,%20%3ctok%20type=>"term" 
from="8">Documents</tok>, ...)
$stab := <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>
$pos := 0
in /MarkLogic/appservices/search/search-impl.xqy line 265:
impl:do-tokenize-parse("series|Documents", <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>, false())

$qtexts := "series|Documents"
$options := <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>
$incomplete := false()
$incomplete := false()
$options := <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>
in /MarkLogic/appservices/search/search-impl.xqy line 829:
impl:do-query("series|Documents", <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>, (), xs:unsignedLong("1"), (), false())

$qtext := "series|Documents"
$deltaoptions := <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>
$ctsquery := ()
$start := xs:unsignedLong("1")
$page-length := ()
$raw-results := false()
$t-minus-0 := xs:dayTimeDuration("PT0.001S")
$init-options := <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>
in /MarkLogic/appservices/search/search.xqy line 35:
search:search("series|Documents", <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>, 1)

$qtext := "series|Documents"
$options := <options 
xmlns="http://marklogic.com/appservices/search";><page-length>5</page-length><constraint
 name="series"><range col...</options>
$start := xs:unsignedLong("1")




NOTICE: This email message is for the sole use of the intended recipient(s) and 
may contain confidential and privileged information. Any unauthorized review, 
use, disclosure or distribution is prohibited. If you are not the intended 
recipient, please contact the sender by reply email and destroy all copies of 
the original message.

_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general

Reply via email to