Поиск по шаблону не grep.Символ подстановки будет заменять символы в одном и том же слове.Таким образом, Skill?matrix
ищет совпадение одного слова с буквой от Skill
до matrix
, но в Skill/matrix
такого слова нет, потому что это фраза, включающая два слова с пунктуацией между ними.Вместо этого можно выполнить поиск фразы «Матрица умений» без учета пунктуации и пробелов, и она будет соответствовать и будет гораздо более эффективной.
Значение *ill/matrix
должно совпадать, но в зависимости от настроек индекса и запроса оно можетпытаться выполнить полное совпадение *ill
со словом лексикон или, если у вас нет слова лексикон, он может попытаться выполнить отсканированное сканирование всей базы данных.Посмотрите, каков ваш план запроса (xdmp:plan
).Если у вас есть трехсимвольный индекс и вы передаете явную опцию lexicon-expand=off
в запрос, он будет выполняться быстрее.Просто включить конечные символы подстановки, но попытка использовать ведущие символы подстановки не будет работать хорошо.
Или, если вы хотите обрабатывать символы подстановки как grep, и это не общий поиск фраз в бегущем тексте, а скорее какпоиск кодового слова в коротком элементе, возможно, лучше поместить индекс диапазона строк в этот элемент и использовать вместо этого свои шаблоны для сопоставления с индексом диапазона.