Полнотекстовый поиск в SQL Server 2005/2008 - PullRequest
1 голос
/ 19 ноября 2010

Я немного запутался в полнотекстовом поиске в SQL Server 2005/2008. Что я понимаю, так это то, что если использование вошло в полную строку [скажем, кто-то искал - «BMW Europe edition 2010»]. Затем полнотекстовый поиск будет искать и разбивать этот запрос и искать его по столбцам, которые мы указали [Допустим, мы определили столбец - Carname, Country, Year]. Таким образом, результатом будет список всех автомобилей, которые содержат BMW, Европу или 2010 год, все или любые два.

Я прав? Если нет, пожалуйста, дайте мне знать функцию и использование полнотекстового поиска, так как я новичок в SQL Server.

Кроме того, можно найти любой другой вид поиска, доступный в выпуске SQL Server 2005/2008.

Ответы [ 4 ]

0 голосов
/ 19 ноября 2010
EXEC sp_fulltext_database 'enable'
go
CREATE FULLTEXT CATALOG mycatalogName
go

CREATE NONCLUSTERED INDEX primaryKeyIndexName
    ON FAQ (pkColumnName);

CREATE FULLTEXT INDEX ON dbo.TableName
(
Question
Language 0X0
)

KEY INDEX PK_TableName ON mycatalogName
WITH CHANGE_TRACKING AUTO

ссылки:

http://dotnetacademy.blogspot.com/2010/10/fulltext-search-in-sql-server.html

http://blog.sqlauthority.com/2008/09/05/sql-server-creating-full-text-catalog-and-index/

Для получения более подробной информации о полнотекстовом поиске см.

http://msdn.microsoft.com/en-us/library/ms142571.aspx

0 голосов
/ 19 ноября 2010

В противном случае мы можем использовать пользователя выбрать идентификатор из статей, в которых содержится текст («некоторый текст»)

но здесь в этом случае столбец id должен быть проиндексирован

0 голосов
/ 19 ноября 2010
0 голосов
/ 19 ноября 2010

Вы правы, также полнотекстовый поиск очень быстрый.Также вы можете использовать like поиск:

select id from articles where text like '%some text%'
...