2015-07-01 3 views
0

В Marklogic я должен выполнить нефильтрованный поиск, чтобы вернуть результаты граней. Но этот параметр возвращает неточные результаты, которые не имеют подсветки поиска.
я использовал для поиска выражения для того, чтобы получить путь результатов поиска, вот варианты, которые я использовал:Нефильтрованный поиск Опция не возвращается Точные результаты

<search-option>unfiltered</search-option> 

<searchable-expression> 
    /Book//chapter 
</searchable-expression> 

<constraint name="chapter"> 
    <word> 
     <element name="chapter"/> 
    </word> 
</constraint> 

<constraint name="Author"> 
    <range type="xs:string" collation="http://marklogic.com/collation/codepoint"> 
     <element name="author"/> 
    </range> 
</constraint> </options> 

Также я попытался добавить ограничение элемент запроса, но это влияет на выполнение поискового запроса Это поисковый запрос:

search:search("chapter:List of Scenes", $options); 
+1

Где вы находите, вам нужно запустить нефильтрованный поиск, чтобы получить грани? Я никогда не слышал об этом и не могу найти его в документах. – DALDEI

+1

Когда я изменяю параметр «Нефильтрованный вариант» на «Отфильтрованный», а затем попытался получить грань, используя поиск: поиск. Он вернет нулевые результаты. Например, search: search («chapter: List of Scenes AND Author: Shakespeare», $ options); ... этот запрос возвращает нулевые результаты. –

+1

Вы ищете фразу «Список сцен» в элементе главы? Если это так, я думаю, что ваш поиск должен быть 'search: search ('chapter:" List of Scenes ", $ options);' В противном случае вы выполняете ограничение главы с помощью "List", а также отдельные словарные запросы с " и "Сцены". –

ответ

2

(SO истекло) Если вы не получаете ни одного аспекта фильтрованного поиска, это потому, что поиск не производит грани. Нефильтрованный поиск может создавать грани в тексте, который не соответствует поиску, но был в том же документе, что и соответствующий индексированный термин. Нефильтрованный поиск не является заменой для фильтрованных запросов. Если поиск Filtered слишком медленный, вы должны проанализировать свои запросы и данные, чтобы найти подходящие варианты оптимизации. Часто используется компромисс - оптимизируйте несколько поисков, чтобы они были быстрыми, а затем используйте результаты тех, которые выполняют второй отфильтрованный поиск по подмножеству результатов, если необходимо, чтобы заполнить детали. См. https://docs.marklogic.com/guide/performance.

+1

Поиск производится в виде граней в зависимости от книги элемент, а не элемент главы, который я ищу в поисковом выражении. Итак, решения для этого в первую очередь, фрагментация для базы данных или вторая, делают это выражение динамическим, чтобы получить результаты фасета –

Смежные вопросы