Я использую следующий запрос для извлечения записей, но он извлекает ложноположительные результаты.Запрос, возвращающий ложно положительный
<cts:and-query xmlns:cts="http://marklogic.com/cts">
<cts:or-query>
<cts:element-value-query>
<cts:element>type</cts:element>
<cts:text xml:lang="en">article</cts:text>
</cts:element-value-query>
</cts:or-query>
<cts:element-query>
<cts:element>body</cts:element>
<cts:word-query>
<cts:text xml:lang="en">ace???</cts:text>
<cts:option>case-insensitive</cts:option>
<cts:option>diacritic-insensitive</cts:option>
<cts:option>punctuation-insensitive</cts:option>
<cts:option>whitespace-insensitive</cts:option>
<cts:option>stemmed</cts:option>
<cts:option>wildcarded</cts:option>
</cts:word-query>
</cts:element-query>
<cts:or-query>
<cts:element-range-query operator=">=">
<cts:element>expires-on</cts:element>
<cts:value xsi:type="xs:dateTime" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">2014-12-04T06:05:29.78Z</cts:value>
</cts:element-range-query>
<cts:not-query>
<cts:element-value-query>
<cts:element>expires-on</cts:element>
<cts:text xml:lang="en">*</cts:text>
<cts:option>wildcarded</cts:option>
</cts:element-value-query>
</cts:not-query>
</cts:or-query>
</cts:and-query>
</results>
Этого запрос является безразличным запросом и должен искать 6 букв слова, начинающееся с «аса». Но мы также получаем результаты, содержащие более 6 буквенных слов, начиная с «туза».
Ниже приведен индексы, которые мы используем
- слова поиска
- позиции слов
- быстро Поиск по фразе
- быстрого случая чувствительных поиски
- быстро диакритических чувствительных поиски
- быстрого элемент слова поиск
- элемент wo й позиция
- быстрого элемент фразы поиск
- три символ ищет
- быстрых элемент символов поиск
- отставая подстановочный поиск
- быстрого элемент заднего подстановочного поиска
Кроме того, мы с помощью «нефильтрованных» во время выполнения поиска.
Любая помощь будет оценена по достоинству.
Благодаря
Я обновил детали. Пожалуйста, смотрите. –
Возможно, это связано с тем, как вы вставляете слово-запрос в элемент-запрос. Вы можете добавить индекс конечных подстановочных знаков, который может его исправить, но было бы лучше, если бы вы могли оптимизировать запрос. – mblakele
По вашему предложению мы сменили запрос на следующий запрос: cts: element-word-query (xs: QName ("body"), ("ace ??"), ("без учета регистра", " «lac = en»), 1) Запрос не получает никаких результатов, хотя у меня много слов, которые соответствует запросу. –