Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Full-Text search: словоформы / 4 сообщений из 4, страница 1 из 1
17.01.2008, 20:28
    #35069780
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Full-Text search: словоформы
что не так?

ищу слово в правильной (или не-) форме и получаю запись только с ним, а как получить обе записи?


Код: plaintext
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.
 create table ts
 (id INTEGER, s tsvector );
 
insert into ts(id, s) VALUES( 1 ,  '');
insert into ts(id, s) VALUES( 2 ,  '');

update ts 
set s= (select to_tsvector('<Row> 
<x x="name" z="128">Sea,Ocean,River</x> 
<x x="deep" z="256">test, drink, drawn</x> 
</Row> ')) where id= 1 ;

update ts 
set s= (select to_tsvector('<Row> 
<x x="name" z="128">car, vehicle,draw</x> 
<x x="deep" z="256">carriage,bicycle,drank</x> 
</Row> ')) where id= 2 ;


select * from ts where s @@ to_tsquery('default','draw') 
----------
id	s
 [b]2 	'car': 1  'draw': 3  'drank': 6  'bicycl': 5  'vehicl': 2  'carriag': 4 [/b]


select * from ts where s @@ to_tsquery('default','drink') 
id	s
 [b]1 	'sea': 1  'test': 4  'drawn': 6  'drink': 5  'ocean': 2  'river': 3 [/b]

...
Рейтинг: 0 / 0
17.01.2008, 21:30
    #35069834
Oleg Bartunov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Full-Text search: словоформы
Winnipuhчто не так?

ищу слово в правильной (или не-) форме и получаю запись только с ним, а как получить обе записи?


Код: plaintext
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.
 create table ts
 (id INTEGER, s tsvector );
 
insert into ts(id, s) VALUES( 1 ,  '');
insert into ts(id, s) VALUES( 2 ,  '');

update ts 
set s= (select to_tsvector('<Row> 
<x x="name" z="128">Sea,Ocean,River</x> 
<x x="deep" z="256">test, drink, drawn</x> 
</Row> ')) where id= 1 ;

update ts 
set s= (select to_tsvector('<Row> 
<x x="name" z="128">car, vehicle,draw</x> 
<x x="deep" z="256">carriage,bicycle,drank</x> 
</Row> ')) where id= 2 ;


select * from ts where s @@ to_tsquery('default','draw') 
----------
id	s
 [b]2 	'car': 1  'draw': 3  'drank': 6  'bicycl': 5  'vehicl': 2  'carriag': 4 [/b]


select * from ts where s @@ to_tsquery('default','drink') 
id	s
 [b]1 	'sea': 1  'test': 4  'drawn': 6  'drink': 5  'ocean': 2  'river': 3 [/b]



не так, что ты
1. Не привел версию постгреса
2. Не привел конфигурацию полнотекста

И вообще, с чего это вдруг поиск должен найти эти две записи ?
...
Рейтинг: 0 / 0
18.01.2008, 09:23
    #35070380
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Full-Text search: словоформы
1. pgsql 8.2.4
2. en_US.UTF-8, что еще входит в конфигурацию?

3. "вдруг поиск должен найти"
Почему же вдруг, я уверен, что вообще-то FT Search тем и Full-Text, что должен уметь находить формы слов. А вэтих двух записях одно слово участвует в разных его формах.

Можно ли настроить поиск так, чтобы формы слов все-таки находились?
...
Рейтинг: 0 / 0
24.01.2008, 11:06
    #35084044
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Full-Text search: словоформы
?.................
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Full-Text search: словоформы / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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