Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 ? Oracle Text  [new]
Vobla
Member

Откуда:
Сообщений: 80
есть проблема:

в документах встречаются слова:
1. карандаш.
2. карандаш для глаз.

при поиске по слову карандаш хотелось бы получать на первом месте те документы в которых встречается просто "карандаш." а не второй вариант. тоесть как повысить релевантность таких документов?
мож кто сталкивался ? ... проблема вобщем с релевантностью и точным совпадением. в теги подобные фразы не заключены, хотя если есть вариант, как это сделать с тегами хотелось бы тоже рассматреть ...
29 авг 06, 16:14    [3067317]     Ответить | Цитировать Сообщить модератору
 Re: ? Oracle Text  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116300
order by length ?
29 авг 06, 16:18    [3067351]     Ответить | Цитировать Сообщить модератору
 Re: ? Oracle Text  [new]
M_IV
Member

Откуда:
Сообщений: 1303
select * from 
	   (
	   select 'bla-bla-bla' text from dual
	   union all
	   select 'bla-bla' from dual
	   union all
	   select 'bla' text from dual
	   )
where text like '%bla%'
order by length(text) - length('bla'), text
29 авг 06, 16:22    [3067391]     Ответить | Цитировать Сообщить модератору
 Re: ? Oracle Text  [new]
M_IV
Member

Откуда:
Сообщений: 1303
select * from 
	   (
	   select 'bla-bla-bla' text from dual
	   union all
	   select 'bla-bla' from dual
	   union all
	   select 'bla' text from dual
	   )
where text like '%bla%'
order by instr(text, 'bla'), length(text) - length('bla'), text
29 авг 06, 16:24    [3067405]     Ответить | Цитировать Сообщить модератору
 Re: ? Oracle Text  [new]
Vobla
Member

Откуда:
Сообщений: 80
dmidek
order by length ?

ну не совсем. "карандаш." это часть документа. документ содержит порядка 2000 символов в среднем. используется индекс CTX.CONTEXT

поиск примерно такой:
select * from image where 
contains(index_state,'карандаш',1) > 0
order by score(1);
29 авг 06, 16:25    [3067425]     Ответить | Цитировать Сообщить модератору
 Re: ? Oracle Text  [new]
Vobla
Member

Откуда:
Сообщений: 80
значимые словосочетания отделяются точкой. при необходимости могу переиндексировать с любым форматированием. просто незнаю как решить данную проблему...
29 авг 06, 16:27    [3067439]     Ответить | Цитировать Сообщить модератору
 Re: ? Oracle Text  [new]
Vobla
Member

Откуда:
Сообщений: 80
M_IV
select * from 
	   (
	   select 'bla-bla-bla' text from dual
	   union all
	   select 'bla-bla' from dual
	   union all
	   select 'bla' text from dual
	   )
where text like '%bla%'
order by instr(text, 'bla'), length(text) - length('bla'), text


случай немного более другой... используется CTX_DLL.CONTEXT индекс ...
сам документ в результатах поиска не появляется. знаю о результатах только очки , присвоеные поиском. вот и вопрос как в контекстном индексе повысить релевантность точно совпадающих слов и словосочетаний.
29 авг 06, 16:31    [3067476]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить