2015-12-07 2 views
3

Я не могу найти содержимое со специальными символами (?*) и математические символы (÷) и т.д. в MarkLogic Если я искать контент с ÷, я не получаю никаких результатов.Специальный символ поиска в MarkLogic

localhost:9000/v1/search?q=divide÷&collection=Math&options=searchmath&format=xml 

Содержание: divide÷

Я использую индексный поиск в элементе и выглядит MarkLogic не индексирует ÷ символ.

Любые идеи, почему marklogic не возвращает правильный ответ, содержащий элементы со специальными символами?

+0

Вы проверили ваши параметры поиска? В дополнение к тому, что указано в mholstege, вам нужно будет соответствующим образом установить опцию term-option в нужном месте для чувствительности к пунктуации. –

ответ

6

Символ ÷ индексируется как пунктуация, то есть он не индексируется вообще. Если вы посмотрите в файле tokenizer.xml, вы можете увидеть классификацию символов в разных диапазонах символов для целей токенизации. Вы можете определить tokenizer override в своем поле, если вам нужно проиндексировать этот символ.

Однако, я бы ожидать ложных срабатываний , а не ложные негативы в этом случае. Возможно, было бы полезно получить план запроса и убедиться, что символ выполняет его через слои кодировки URL и REST и т. Д. Правильно.

Что касается ? и * - это подстановочные знаки, поэтому вы должны убедиться, что ваш запрос не установлен. Опять же, в запросе без подстановочных знаков это знаки препинания и не индексируются - вы можете получать только точные запросы, делая отфильтрованные поиски или точные запросы значений.