powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Задача для FS
5 сообщений из 5, страница 1 из 1
Задача для FS
    #40092703
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В базе есть таблица, в которой поле содержит текст.
В предположении, что там текст на английском строю FTI и добавляю его в FS Catalog.
Поиск работает, все ок.
Базы могут быть у разных юзеров.
Есть юзеры, которые хранят там смесь текстов, например, запись содержит текст из СМИ: на английском начало, цитаты на русском.
Предположим, у меня есть функция, кторая умеет распознать 3 языка, содержищихся в тексте
EN
RU
NO

Можно ли как-то по-умному FS проиндексировать эту таблицу, т.е. построить 3 индекса по разнм языкам? включить их в каталог?
...
Рейтинг: 0 / 0
Задача для FS
    #40092728
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

для юникода вроде бы все равно должно быть - сколько и какие языки, разве нет?
...
Рейтинг: 0 / 0
Задача для FS
    #40092791
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
Ролг Хупин,

для юникода вроде бы все равно должно быть - сколько и какие языки, разве нет?


это - да, но интересна FT индексация для конкретного языка, т.е. использование морфологии и т.д.

В некоторых случаях используется Neutral и там пофиг язык, бьет на слова через разделители и так и ищет.
...
Рейтинг: 0 / 0
Задача для FS
    #40092814
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
интересна FT индексация для конкретного языка
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
create fulltext catalog Test;
go

create table dbo.t
(
 id int constraint PK_t primary key,
 s nvarchar(1000)
);
go

insert dbo.t values (1, N'Много огромных flying тарелок');
go

create fulltext index on dbo.t
(s language neutral)
key index PK_t
on Test
with (change_tracking = auto);
go

while fulltextcatalogproperty('Test', 'PopulateStatus') <> 0
 waitfor delay '00:00:01';
go

select * from dbo.t where contains(s, N'formsof(inflectional, fly)', language 1033);
select * from dbo.t where contains(s, N'formsof(inflectional, тарелка)', language 1049);
select * from dbo.t where contains(*, N'formsof(inflectional, огромный)', language 1049);
go

drop table dbo.t;
drop fulltext catalog Test;
go
...
Рейтинг: 0 / 0
Задача для FS
    #40092903
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm
Ролг Хупин
интересна FT индексация для конкретного языка
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
create fulltext catalog Test;
go

create table dbo.t
(
 id int constraint PK_t primary key,
 s nvarchar(1000)
);
go

insert dbo.t values (1, N'Много огромных flying тарелок');
go

create fulltext index on dbo.t
(s language neutral)
key index PK_t
on Test
with (change_tracking = auto);
go

while fulltextcatalogproperty('Test', 'PopulateStatus') <> 0
 waitfor delay '00:00:01';
go

select * from dbo.t where contains(s, N'formsof(inflectional, fly)', language 1033);
select * from dbo.t where contains(s, N'formsof(inflectional, тарелка)', language 1049);
select * from dbo.t where contains(*, N'formsof(inflectional, огромный)', language 1049);
go

drop table dbo.t;
drop fulltext catalog Test;
go



А, вот как, т.е. индексируем для языка Neutral, а ищем с указанием конкретного языка?
интересно, буду пробовать.
Но есть такая непонятка:
скажем, юзер, когда указывает в приложении, что он ищет, должен указать язык. В общем-то логично
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Задача для FS
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]