Я использую CONTAINSTABLE
для поиска в двух столбцах таблицы.Как только поиск содержит маленькие слова, такие как '' 'для' 'a', поиск не дает результатов, даже если они фактически присутствуют в столбце.
Быстрый пример.Колонка, в которой выполняется поиск, содержит текст.«Систему необходимо обновить»
После SQL возвращается 0 строк
SELECT * FROM Incident WHERE (TicketNumber IN (
SELECT TicketNumber FROM [Action] FT_TBL INNER JOIN
CONTAINSTABLE(Action, Text, '"system" AND "needs" AND "to" AND "upgraded" AND NOT "Search Summary"') KEY_TBL ON FT_TBL.ID = KEY_TBL.[KEY]
UNION
SELECT TicketNumber FROM [Incident] FT_TBL INNER JOIN
CONTAINSTABLE(Incident, Subject, '"system" AND "needs" AND "to" AND "upgraded"') AS KEY_TBL ON FT_TBL.TicketNumber = KEY_TBL.[KEY]))
Если пропущено «to», оно прекрасно работает:
SELECT * FROM Incident WHERE (TicketNumber IN (
SELECT TicketNumber FROM [Action] FT_TBL INNER JOIN
CONTAINSTABLE(Action, Text, '"system" AND "needs" AND "upgraded" AND NOT "Search Summary"') KEY_TBL ON FT_TBL.ID = KEY_TBL.[KEY]
UNION
SELECT TicketNumber FROM [Incident] FT_TBL INNER JOIN
CONTAINSTABLE(Incident, Subject, '"system" AND "needs" AND "upgraded"') AS KEY_TBL ON FT_TBL.TicketNumber = KEY_TBL.[KEY]))
Как можно CONTAINSTABLE
использовать с этими более мелкими словами, или они должны быть опущены в целом?Если эти меньшие слова действительно значимы в поиске, как они могут быть включены в поиск?