<?xml version="1.0" encoding="UTF-8"?><api:function-page xml:base="/apidoc/8.0/cts.elementWordQuery.xml" generated="2015-10-07T16:36:00.016766-07:00" mode="javascript" xmlns:api="http://marklogic.com/rundmc/api"><api:function-name>cts.elementWordQuery</api:function-name><api:suggest>cts.elementwordquery</api:suggest><api:suggest>cts</api:suggest><api:suggest>elementwordquery</api:suggest><api:function-link mode="xquery" fullname="cts:element-word-query">/apidoc/8.0/cts:element-word-query.xml</api:function-link><api:function mode="javascript" name="elementWordQuery" type="builtin" lib="cts" category="SearchBuiltins" subcategory="cts:query Constructors" hidden="false" bucket="MarkLogic Built-In Functions" prefix="cts" namespace="http://marklogic.com/cts" fullname="cts.elementWordQuery"><api:summary>
  Returns a query matching elements by name with text content containing
  a given phrase.  Searches only through immediate text node children of
  the specified element as well as any text node children of child elements
  defined in the Admin Interface as element-word-query-throughs
  or phrase-throughs; does not search through any other children of
  the specified element.
</api:summary><api:params><api:param name="element-name" type="xs:QName*"><api:param-description>
    One or more element QNames to match.
    When multiple QNames are specified,
    the query matches if any QName matches.
  </api:param-description><api:param-name>element-name</api:param-name><api:param-type>xs.QName[]</api:param-type></api:param><api:param name="text" type="xs:string*"><api:param-description>
    Some words or phrases to match.
    When multiple strings are specified,
    the query matches if any string matches.
  </api:param-description><api:param-name>text</api:param-name><api:param-type>String[]</api:param-type></api:param><api:param name="options" type="xs:string*" optional="true"><api:param-description>
    Options to this query.  The default is ().
    <p xmlns="http://www.w3.org/1999/xhtml">
      Options include:</p>
      <blockquote xmlns="http://www.w3.org/1999/xhtml"><dl>
        <dt>"case-sensitive"</dt>
        <dd>A case-sensitive query.</dd>
        <dt>"case-insensitive"</dt>
        <dd>A case-insensitive query.</dd>
        <dt>"diacritic-sensitive"</dt>
        <dd>A diacritic-sensitive query.</dd>
        <dt>"diacritic-insensitive"</dt>
        <dd>A diacritic-insensitive query.</dd>
        <dt>"punctuation-sensitive"</dt>
        <dd>A punctuation-sensitive query.</dd>
        <dt>"punctuation-insensitive"</dt>
        <dd>A punctuation-insensitive query.</dd>
        <dt>"whitespace-sensitive"</dt>
        <dd>A whitespace-sensitive query.</dd>
        <dt>"whitespace-insensitive"</dt>
        <dd>A whitespace-insensitive query.</dd>
        <dt>"stemmed"</dt>
        <dd>A stemmed query.</dd>
        <dt>"unstemmed"</dt>
        <dd>An unstemmed query.</dd>
        <dt>"wildcarded"</dt>
        <dd>A wildcarded query.</dd>
        <dt>"unwildcarded"</dt>
        <dd>An unwildcarded query.</dd>
        <dt>"exact"</dt>
        <dd>An exact match query. Shorthand for "case-sensitive",
        "diacritic-sensitive", "punctuation-sensitive",
        "whitespace-sensitive", "unstemmed", and "unwildcarded".
        </dd>
        <dt>"lang=<em>iso639code</em>"</dt>
        <dd>Specifies the language of the query. The <em>iso639code</em>
            code portion is case-insensitive, and uses the languages
            specified by
           <a href="http://www.loc.gov/standards/iso639-2/php/code_list.php" target="_blank">ISO 639</a>.
            The default is specified in the database configuration.</dd>
        <dt>"distance-weight=<em>number</em>"</dt>
        <dd>A weight applied based on the minimum distance between matches
        of this query.  Higher weights add to the importance of
        proximity (as opposed to term matches) when the relevance order is
        calculated.
        The default value is 0.0 (no impact of proximity). The
        weight should be between 64 and -16.
    Weights greater than 64 will have the same effect as a
    weight of 64.
        This parameter has no effect if the <code>word positions</code>
        index is not enabled.  This parameter has no effect on searches that
        use score-simple, score-random, or score-zero (because those scoring
        algorithms do not consider term frequency, proximity is irrelevant).
        </dd>
        <dt>"min-occurs=<em>number</em>"</dt>
        <dd>Specifies the minimum number of occurrences required. If
        fewer that this number of words occur, the fragment does not match.
        The default is 1.</dd>
        <dt>"max-occurs=<em>number</em>"</dt>
        <dd>Specifies the maximum number of occurrences required.  If
        more than this number of words occur, the fragment does not match.
        The default is unbounded.</dd>
        <dt>"synonym"</dt>
        <dd>Specifies that all of the terms in the $text parameter are
        considered synonyms for scoring purposes.  The result is that
        occurrences of more than one of the synonyms are scored as if
        there are more occurrences of the same term (as opposed to
        having a separate term that contributes to score). </dd>
	<dt>"lexicon-expand=<em>value</em>"</dt>
	<dd>The <em>value</em> is one of <code>full</code>,
	<code>prefix-postfix</code>, <code>off</code>, or
	<code>heuristic</code> (the default is <code>heuristic</code>).
	An option with a value of <code>lexicon-expand=full</code>
	specifies that wildcards are resolved by expanding the pattern to
	words in a lexicon (if there is one available), and turning into a
        series of <code>cts:word-queries</code>, even if this takes a long
	time to evaluate.
	An option with a value of <code>lexicon-expand=prefix-postfix</code>
	specifies that wildcards are resolved by expanding the pattern to the
	pre- and postfixes of the words in the word lexicon (if there is one),
	and turning the query into a series of character queries, even if it
	takes a long time to evaluate.
	An option with a value of <code>lexicon-expand=off</code>
	specifies that wildcards are only resolved by looking up character
	patterns in the search pattern index, not in the lexicon.
	A option with a value of <code>lexicon-expand=heuristic</code>,
	which is the default, specifies that wildcards are resolved by using
	a series of internal rules, such as estimating the number of lexicon
	entries that need to be scanned, seeing if the estimate crosses
	certain thresholds, and (if appropriate), using another way besides
	lexicon expansion to resolve the query.
       	</dd>
      </dl></blockquote>

  </api:param-description><api:param-name>options</api:param-name><api:param-type>String[]</api:param-type></api:param><api:param name="weight" type="xs:double?" optional="true"><api:param-description>
    A weight for this query.
    Higher weights move search results up in the relevance
    order.  The default is 1.0. The
    weight should be between 64 and -16.
    Weights greater than 64 will have the same effect as a
    weight of 64.
    Weights less than the absolute value of 0.0625 (between -0.0625 and
    0.0625) are rounded to 0, which means that they do not contribute to the
    score.
  </api:param-description><api:param-name>weight</api:param-name><api:param-type>Number?</api:param-type></api:param></api:params><api:return>cts.elementWordQuery</api:return><api:usage>
  <p xmlns="http://www.w3.org/1999/xhtml">
    If neither "case-sensitive" nor "case-insensitive"
    is present, $text is used to determine case sensitivity.
    If $text contains no uppercase, it specifies "case-insensitive".
    If $text contains uppercase, it specifies "case-sensitive".
  </p>
  <p xmlns="http://www.w3.org/1999/xhtml">
    If neither "diacritic-sensitive" nor "diacritic-insensitive"
    is present, $text is used to determine diacritic sensitivity.
    If $text contains no diacritics, it specifies "diacritic-insensitive".
    If $text contains diacritics, it specifies "diacritic-sensitive".
  </p>
  <p xmlns="http://www.w3.org/1999/xhtml">
    If neither "punctuation-sensitive" nor "punctuation-insensitive"
    is present, $text is used to determine punctuation sensitivity.
    If $text contains no punctuation, it specifies "punctuation-insensitive".
    If $text contains punctuation, it specifies "punctuation-sensitive".
  </p>
  <p xmlns="http://www.w3.org/1999/xhtml">
    If neither "whitespace-sensitive" nor "whitespace-insensitive"
    is present, the query is "whitespace-insensitive".
  </p>
  <p xmlns="http://www.w3.org/1999/xhtml">
    If neither "wildcarded" nor "unwildcarded"
    is present, the database configuration and $text determine wildcarding.
    If the database has any wildcard indexes enabled ("three character
    searches", "two character searches", "one character searches",  or
    "trailing wildcard searches") and if $text contains either of the
    wildcard characters '?' or '*', it specifies "wildcarded".
    Otherwise it specifies "unwildcarded".
  </p>
  <p xmlns="http://www.w3.org/1999/xhtml">
    If neither "stemmed" nor "unstemmed"
    is present, the database configuration determines stemming.
    If the database has "stemmed searches" enabled, it specifies "stemmed".
    Otherwise it specifies "unstemmed".
    If the query is a wildcarded query and also a phrase query
    (contains two or more terms), the wildcard terms in the query
    are unstemmed.
  </p>
  <p xmlns="http://www.w3.org/1999/xhtml">
    Negative "min-occurs" or "max-occurs" values will be treated as 0 and
    non-integral values will be rounded down.  An error will be raised if
    the "min-occurs" value is greater than the "max-occurs" value.
  </p>
  <p xmlns="http://www.w3.org/1999/xhtml">Relevance adjustment for the "distance-weight" option depends on
  the closest proximity of any two matches of the query.  For example,
  <pre xml:space="preserve">
  cts:element-word-query(xs:QName("p"),("dog","cat"),("distance-weight=10"))
  </pre>
  will adjust relevance based on the distance between the closest pair of
  matches of either "dog" or "cat" within an element named "p"
  (the pair may consist only of matches of
  "dog", only of matches of "cat", or a match of "dog" and a match of "cat").
  </p>
</api:usage><api:example class="javascript"><pre xml:space="preserve" xmlns="http://www.w3.org/1999/xhtml">
  cts.search(
    cts.elementWordQuery(
      xs.QName("function"),
      "MarkLogic Corporation"));
  
  =&gt; .. relevance-ordered sequence of documents
  with elements with QName 'function'
  and text content containing the phrase 'MarkLogic
  Corporation'.
</pre></api:example><api:example class="javascript"><pre xml:space="preserve" xmlns="http://www.w3.org/1999/xhtml">
  cts.search(
    cts.elementWordQuery(
      xs.QName("function"),
        "MarkLogic Corporation", "case-sensitive"));
  
  =&gt; .. relevance-ordered sequence of documents
  with elements with QName 'function'
  and text content containing the phrase 'MarkLogic
  Corporation', case-sensitive (so 'MarkLogic Corporation'
  matches but 'MARKLOGIC Corporation' does not).
</pre></api:example><api:example class="javascript"><pre xml:space="preserve" xmlns="http://www.w3.org/1999/xhtml">
  cts.search(
    cts.andQuery([
      cts.elementWordQuery(
        xs.QName("function"),
        "MarkLogic Corporation",
        ("case-insensitive", "punctuation-insensitive"), 0.5),
      cts.elementWordQuery(
        xs.QName("title"),
        "faster")]));
  
  =&gt; .. relevance-ordered sequence of documents having both:

  (a) 'function' elements with text content containing
      the phrase 'MarkLogic Corporation', ignoring embedded
      punctuation,
  AND
  (b) 'title' elements containing the word 'faster',
      with the results of the first sub-query query given
      weight 0.5, and the results of the second sub-query
      given the default weight 1.0.  As a result, the title
      term 'faster' counts more towards the relevance
      score.
</pre></api:example></api:function></api:function-page>