Как мне обработать апостроф (') в MS SQL 2008 FTS? - PullRequest
0 голосов
/ 26 июня 2009

У меня есть веб-сайт, который использует MS SQL 2008 FTS (полнотекстовый поиск). Поиск работает нормально, если пользователь ищет строку с апострофом, например , это - он возвращает любые результаты, содержащие , то есть . Однако он не вернет результат, если пользователь ищет , то есть , а в базе данных хранится , то есть .

Кроме того, в идеале поиск , который должен также возвращать , то есть и , что и т. Д.

Кто-нибудь знает, поддерживает ли это FTS, и что я могу сделать, чтобы включить его?

WT

1 Ответ

1 голос
/ 26 июня 2009

использовать параметр

myCommand.Parameters.AddWithValue("@searchterm", txtSearch.Text.Trim());

это будет обработано вами, без каких-либо хлопот.

относительно этого, вот и вам нужно поискать ключевое слово SOUNDEX . 4GuysfromRolla также имеет старую статью об этом.

обновлен один из членов TFS Team говорит об этом здесь .

цитируя его:

Даниэль прав. Полнотекстовый поиск (FTS) не использует SOUNDEX напрямую, но его можно использовать в сочетании с SOUNDEX.
Кроме того, вы можете хочу просмотреть следующие ссылки, а также ниже TSQL примеры объединения СОДЕРЖИТ & SOUNDEX

Вы можете посмотреть на некоторые из улучшенных алгоритмов Soundex, а также Алгоритм Левенштейна
Вы должен иметь возможность искать в Google, чтобы найти больше примеров кода, например: 'METAPHONE Soundex "SQL Server" поиск нечетких имен ", и я быстро нашел - "Двойной метафон звучит великолепно" на http://www.winnetmag.com/Article/ArticleID/26094/26094.html

Вы можете свободно скачать код в zip-файле, который имеет несколько пользовательских функций (UDF), которые реализуют Double Metaphone.

Ниже некоторые дополнительные ссылки SOUNDEX:
http://www.merriampark.com/ld.htm
http://www.bcs -mt.org.uk / nala_006.htm

(опущено из совка)

use pubs     

-- Combined SOUNDEX OR CONTAINS query that 
-- Searches for names that sound like "Michael".      
SELECT 
    au_lname, au_fname 
FROM 
    authors -- returns 2 rows      
WHERE 
    contains(au_fname, 'Mich*') or SOUNDEX(au_fname) = 'M240'

Спасибо
John
Блог полнотекстового поиска по SQL
http://spaces.msn.com/members/jtkane/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...