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

Откуда:
Сообщений: 627
Всем добрый день!
Необходимо из таблицы с выдернуть некую инфу, которая лежит в толе типа TEXT. Настроен Full Text, все замечательно. Задача выдернуть данные, где задана ключевая фраза. Не вдаваясь в конкретику, делаю примерно так:

select broadcast_trans from broadcast_items bi
where CONTAINS(bi.broadcast_trans,'"тройк диало*"')

В результате имею выборку, в которую входят записи содержащие и "тройк" и "диало", а мне необходимо, чтоб выдергивались записи именно толко по этой фразе, а не все, где эти слова упоминаются поотдельности. Подскажите, что не так (просьба сильно не пинать, только начинаю работать с Full Text). Заранее спасибо всем ответившим.
19 авг 09, 11:21    [7555162]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с условием запроса (Full text)  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Bobby
Всем добрый день!
Необходимо из таблицы с выдернуть некую инфу, которая лежит в толе типа TEXT. Настроен Full Text, все замечательно. Задача выдернуть данные, где задана ключевая фраза. Не вдаваясь в конкретику, делаю примерно так:

select broadcast_trans from broadcast_items bi
where CONTAINS(bi.broadcast_trans,'"тройк диало*"')

В результате имею выборку, в которую входят записи содержащие и "тройк" и "диало", а мне необходимо, чтоб выдергивались записи именно толко по этой фразе, а не все, где эти слова упоминаются поотдельности. Подскажите, что не так (просьба сильно не пинать, только начинаю работать с Full Text). Заранее спасибо всем ответившим.



а эта фраза должна попасть в результат по вашей постановке задачи?

"В результате имею выборку, в которую входят записи содержащие и "тройк" и так же "диало", а мне "
19 авг 09, 11:43    [7555361]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с условием запроса (Full text)  [new]
Bobby
Member

Откуда:
Сообщений: 627
Winnipuh,
задача стоит, чтоб в выборку попали записи, где эти слова стоят рядом, т.е. различные вариации этой фразы, а не поотдельности каждое слово.
19 авг 09, 11:53    [7555451]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с условием запроса (Full text)  [new]
Glory
Member

Откуда:
Сообщений: 104760
BOL - CONTAINS


NEAR | ~
Indicates that the word or phrase on the left side of the NEAR or ~ operator should be approximately close to the word or phrase on the right side of the NEAR or ~ operator. Multiple proximity terms can be chained, for example:

a NEAR b NEAR c


This means that word or phrase a should be near word or phrase b, which should be near word or phrase c. When several proximity terms are chained, all proximity terms must be near each other. So, in the example a ~ b ~ c, word or phrase a should also be near word or phrase c.
19 авг 09, 11:55    [7555471]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с условием запроса (Full text)  [new]
Bobby
Member

Откуда:
Сообщений: 627
Glory,
большое спасибо, щас посмотрю в этом направлении
19 авг 09, 12:03    [7555532]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с условием запроса (Full text)  [new]
Баранкин
Member

Откуда: из Минска
Сообщений: 75
Помогите со следующей проблемой: например при подобном запросе
select title from table
where CONTAINS(Title,'"improve door*"')
ищутся все фразы, включая "improved doors", т.е. как и описано в документации, все слова считаются как термы, и указывая * в конце, она распространяется ко всем. Возможно ли сделать запрос так, что бы * относилась только к слову, около которого она указана?
26 дек 09, 18:12    [8122094]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с условием запроса (Full text)  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Баранкин
Помогите со следующей проблемой: например при подобном запросе
select title from table
where CONTAINS(Title,'"improve door*"')
ищутся все фразы, включая "improved doors", т.е. как и описано в документации, все слова считаются как термы, и указывая * в конце, она распространяется ко всем. Возможно ли сделать запрос так, что бы * относилась только к слову, около которого она указана?


а можно привести ссылочку, где написано, что * здесь относится ко всем словам фразы?
 CONTAINS(Title,'"improve door*"')
26 дек 09, 18:25    [8122120]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с условием запроса (Full text)  [new]
Баранкин
Member

Откуда: из Минска
Сообщений: 75
Winnipuh
а можно привести ссылочку, где написано, что * здесь относится ко всем словам фразы?
 CONTAINS(Title,'"improve door*"')
конечно!
Если аргумент <prefix_term> является фразой, каждое содержащееся во фразе слово считается отдельным префиксом. Этому запросу, задающему префиксный термин «local wine*», отвечают все строки с текстом «local winery», «locally wined and dined» и т.д.
А именно этого хочется избежать, т.к. результат в итоге получается с лишними записями, и поведение * не совсем в этом случае очевидно.
26 дек 09, 20:46    [8122461]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с условием запроса (Full text)  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Баранкин
Winnipuh
а можно привести ссылочку, где написано, что * здесь относится ко всем словам фразы?
 CONTAINS(Title,'"improve door*"')
конечно!
Если аргумент <prefix_term> является фразой, каждое содержащееся во фразе слово считается отдельным префиксом. Этому запросу, задающему префиксный термин «local wine*», отвечают все строки с текстом «local winery», «locally wined and dined» и т.д.
А именно этого хочется избежать, т.к. результат в итоге получается с лишними записями, и поведение * не совсем в этом случае очевидно.


да, понял, я протормозил, что у вас вся фраза в кавычках
26 дек 09, 21:04    [8122480]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с условием запроса (Full text)  [new]
Баранкин
Member

Откуда: из Минска
Сообщений: 75
Winnipuh, ну а как же иначе? На данный момент вижу вариант использования NEAR но тогда я так понимаю порядок слов теряется? А хочется сохранить.
27 дек 09, 01:56    [8123031]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с условием запроса (Full text)  [new]
Баранкин
Member

Откуда: из Минска
Сообщений: 75
уважаемые гуру, может у кого-нибудь будут идеи?
28 дек 09, 11:48    [8126137]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить