Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Full text search  [new]
>>>>
Guest
Коллеги,

подскажите пожалуйста. Никогда не работал с полнотекстовым поиском, но стоит задача поиска по части слова записи в MS SQL.
Никакого семантического анализа не надо, надо как в LIKE %%, но быстрее.

Есть таблица с индексами:
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[product](
	[productId] [uniqueidentifier] NOT NULL,
	[name] [nvarchar](300) NOT NULL,
	[externalid] [nvarchar](100) NULL,
	[partnerid] [uniqueidentifier] NULL,
 CONSTRAINT [PK_product] PRIMARY KEY CLUSTERED 
(
	[productId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)

GO


/****** Object:  Index [idx_atricle_name_partnerid]    Script Date: 15.06.2016 10:32:59 ******/
CREATE NONCLUSTERED INDEX [idx] ON [dbo].[product]
(
	[name] ASC,
	[partnerid] ASC
)
WHERE ([externalId] IS NOT NULL)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) 
GO


Собственно по полю name надо осуществлять поиск, при этом поле уникально в рамках партнера, если заведен внешний идентификатор.

При попытке создать full text search index возникает ошибка

Msg 7653, Level 16, State 2, Line 4
idx is not a valid index to enforce a full-text search key. A full-text search key must be a unique, non-nullable, single-column index which is not offline, is not defined on a non-deterministic or imprecise nonpersisted computed column, does not have a filter, and has maximum size of 900 bytes. Choose another index for the full-text key.


Можно ли как-то в моем случае сохранить уникальность в рамках partnerid и создать full text search индекс по полю name?

P.S. Секционирование сделать не могу, редакция не позволяет.
15 июн 16, 10:41    [19294653]     Ответить | Цитировать Сообщить модератору
 Re: Full text search  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
>>>>,

если не рассматривать FTS, то бинарный поиск LIKE
15 июн 16, 10:46    [19294666]     Ответить | Цитировать Сообщить модератору
 Re: Full text search  [new]
>>>>
Guest
TaPaK,

Full-text search быстрее будет.
15 июн 16, 12:58    [19295317]     Ответить | Цитировать Сообщить модератору
 Re: Full text search  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
>>>>
Full-text search быстрее будет.
Не будет.
Потому что FTS не умеет "надо как в LIKE %%"
15 июн 16, 13:20    [19295426]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить