У меня есть таблица поиска, скажем, 4 столбца текстовых данных для поиска.
Я делаю что-то вроде этого:
SELECT * FROM dbo.SearchTable
WHERE CONTAINS((co1, col2, col3, col4), 'term1 AND term2')
Похоже, что Contains возвращает true, если term1 и term2 находятся в одном столбце. Есть ли способ указать, что все столбцы должны быть включены в AND?
Если нет, моя идея состоит в том, чтобы JSON сортировать все столбцы поиска и вставлять их в один. Таким образом, я могу полностью искать текст, но все же легко извлекать отдельные столбцы в .NET. Я предполагаю, что у индексатора не будет проблем с этим и обойдется с символами JSON и кавычками. Правильно ли это?
Спасибо
ИЗМЕНИТЬ
Думая о идее JSON, искатель также индексировал имена свойств, поэтому мне пришлось бы переименовать {name}, {details}, {long_details} в нечто вроде {x1}, {x2}, {x3}, чтобы что они не будут выбраны при обыске. Надеюсь, если они будут такими короткими, они не будут индексироваться в любом случае.
EDIT2
Я могу создать Стоп-лист на основе системного стоп-листа и поместить в него имена свойств.