Ответ 1
Проблема двояка.
-
Первая проблема связана с индексацией. Конфигурация по умолчанию использует для индексирования данные, и поэтому вы получаете лексему "C" для "С++" и "С#". Вы можете использовать "простую" конфигурацию для индексации данных, но затем вы получите нежелательные слова в индексе. То, что я сделал, было конвертировать 'С++' в 'Cplusplus' и индексировать это. Так как "Cplusplus" не имеет лексемы, он будет выглядеть как есть. Вы можете сделать то же самое для "С#", сделав его "CSharp" в данных индекса.
-
Вторая проблема связана с поиском. Теперь, когда индексированные данные в порядке, нам нужно убедиться, что мы преобразуем условия поиска для специальных слов. Если пользователь вводит "С++", вам необходимо преобразовать его в "Cplusplus" перед выполнением поиска.
Я создал функцию в БД, которая взяла в строке и преобразовала все вхождения особых терминов.
Я не использовал TSearch через некоторое время, поэтому я не уверен, что TSearch позволяет вам настраивать и исключать список так же, как это допускает временные слова.