Можно ли искать ‘Match’ и ‘March’, используя подстановочный знак как «Ma * ch» или «Ma? ch» в службе индексирования?

#sql #search #wildcard

#sql #Поиск #подстановочный знак

Вопрос:

Я хочу, чтобы подстановочный знак одновременно выполнял поиск соответствия и марша в службе индексации. Я пытаюсь выполнить следующий запрос:

 Select DocTitle,Filename,Size,PATH,URL,Directory 
from Scope() 
WHERE CONTAINS('"Ma*ch"')
  

Или

 Select DocTitle,Filename,Size,PATH,URL,Directory 
from Scope() 
WHERE CONTAINS('"Ma?ch"')
  

Но я не получаю никакого ответа, поскольку я думаю, что он пытается найти Ma * ch как полное слово.

Когда я использую * в конце любого префикса, он работает нормально, но мне это нужно в середине слова. «Поиск выполняется по документам, не из базы данных».

Ответ №1:

Я думаю, что правильный синтаксис contains

contains (<column Name>,<Search Condition>)

Комментарии:

1. Как вы думаете, сработает ли этот синтаксис? У нас нет столбцов в документах. Это для поиска по документам, а не из базы данных.