
cts.andNotQuery( positive-query as cts.query, negative-query as cts.query ) as cts.andNotQuery
Returns a query specifying the set difference of the matches specified by two sub-queries.
| Parameters | |
|---|---|
| positive-query | A positive query, specifying the search results filtered in. | 
| negative-query | A negative query, specifying the search results to filter out. | 
cts.andNotQuery 
  is only guaranteed to be accurate if the negative query is accurate from 
  its index resolution (that is, if the unfiltered results of the 
  negative query are accurate. The accuracy of the index resolution depends
  on many factors such as the query, whether you search
  at a fragment root (that is, if the first parameter of
  cts.search 
  specifies an XPath that resolves to a fragment root),
  the index options enabled on the database, the search options, and other 
  factors.  In cases where the $negative-query parameter has false
  positive matches, the negation of the query can miss matches (have false 
  negative matches).  In these cases, searches with 
  cts.andNotQuery
  can miss results, even if those searches are filtered.
cts.estimate(
  cts.andNotQuery(
    cts.wordQuery('summer'),
    cts.wordQuery('glorious')))
// .. 12 Shakespeare Plays contain some text node with the word
// 'summer' BUT NOT the word 'glorious'.