Создать полнотекстовый индекс на десятичном / числовом столбце, возможно ?????(SQL Server 2008) - PullRequest
3 голосов
/ 28 января 2011

Я хотел бы создать полнотекстовый индекс для нескольких столбцов, которые являются varchars и числами.И есть проблема с числами.

Нет ли способа добавить столбец в виде числа или десятичного числа для полнотекстового индекса?

У меня есть, например, статья в таблице:

CREATE TABLE article
(   articleid   number(10)  not null,
    articlename     varchar(50)     not null,
    articlecode1    varchar(50)
);

CREATE FULLTEXT CATALOG MyCatalog;

CREATE FULLTEXT INDEX ON artikel
     (articleid LANGUAGE 0x0,
      articlename LANGUAGE 0x0,
      articlecode1 LANGUAGE 0x0)
KEY INDEX PK_ARTICLE ON MyCatalog
WITH CHANGE_TRACKING AUTO;

Не удалосьне может быть создано, потому что articleid - это число!

Мое альтернативное решение - создать второй столбец, например articleidtext varchar, в качестве копии articleid.Затем заполнить триггером.

Неужели нет другого пути?

Я также пытался разыграть следующее: CAST(articleid AS varchar) LANGUAGE 0x0 тоже не работает.

любые другие предложения ??

thx ...

Ответы [ 3 ]

2 голосов
/ 28 января 2011

Вы можете создать вычисляемый постоянный столбец типа VARCHAR на основе вашего articleId - его не нужно заполнять триггером или чем-то еще, он всегда будет представлять articleId, но как *Столбец 1004 *, и, таким образом, он может быть проиндексирован в полнотекстовом формате:

ALTER TABLE dbo.article
ADD ArticleIDText AS CAST(ArticleID AS VARCHAR(20)) PERSISTED

Теперь поместите свой индекс полнотекста в ArticleIDText, и все должно быть в порядке ....

0 голосов
/ 13 июля 2015

полный текст работает только с типами:

char, varchar, nchar, nvarchar, text, ntext, image, xml или varbinary (max)

0 голосов
/ 28 января 2011

Вы не можете создавать полнотекстовые индексы для столбцов, которые являются числами.Если вы хотите иметь возможность поиска по полному тексту, вы можете преобразовать столбец в строку.

Но реальный вопрос в том, ищете ли вы полнотекстовый индекс или просто нормальный индекс!?

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