как в CONTAINS сравнивать в upper?

 
0
 
Oracle
ava
Sleepy_PIP | 06.02.2005, 14:56
Подскажите пожалуста, как в операторе countains(fileld,txt_sh,label) сравнивать строки без учета регистра?
т.е. нужен поиск без учета регистра ...
Спасибо!
Comments (4)
ava
igon | 06.02.2005, 20:09 #
soundex (!) smile
или
EQUIValence (=)

contains(fileID,'IN_UPPER=in_low')
ava
Sleepy_PIP | 06.02.2005, 20:19 #
Цитата (igon @ 6.2.2005, 20:09)
soundex (!) smile

или

EQUIValence (=)



contains(fileID,'IN_UPPER=in_low')


не понял.
soundex будет возврящать _похожие_ выражения, не более ...
А с '=' я вообще не понимаю при чем тут upper
"the following example returns all documents that contain either the phrase "alsatians are big dogs" or " labradors are bug dogs":
'labrador=alsatians are big dog' "
т.е. фактически назначает синонимы.
а у меня слово 'AbCdEf' или 'ABcdeF' а паттерн %ABCDEF%

ava
igon | 07.02.2005, 01:25 #
Цитата
soundex будет возврящать _похожие_ выражения, не более

soundex будет возвращать выражения, которые ПРОИЗНОСЯТСЯ одинаково (на English по умолчанию). Насколько я знаю, произношение не зависит от регистра. Естественно, в результат могут случайно добавиться строки с другим написанием, но сходным произношением.
EQUIValence (=) годится для случаев, когда регистр либо верхний, либо нижний. Для строк со смешанным регистром он действительно не подходит. В этом случае почему бы не приводить исходный текст к одному регистру при формировании CONTEXT?

Кстати, по умолчанию для BASIC_LEXER поиск в индексе РЕГИСТРОНЕЗАВИСИМЫЙ!
Цитата
mixed_case

Specify whether the lexer leaves the tokens exactly as they appear in the text or converts the tokens to all uppercase. The default is NO (tokens are converted to all uppercase).

--------------------------------------------------------------------------------

Note:

Oracle ensures that word queries match the case sensitivity of the index being queried. As a result, if you enable case sensitivity for your Text index, queries against the index are always case sensitive.

Ты действительно не находишь 'AbCdEf' при паттерне %ABCDEF%?





ava
Sleepy_PIP | 07.02.2005, 10:57 #
Цитата (igon @ 7.2.2005, 01:25)
Цитата
soundex будет возврящать _похожие_ выражения, не более


soundex будет возвращать выражения, которые ПРОИЗНОСЯТСЯ одинаково (на English по умолчанию). Насколько я знаю, произношение не зависит от регистра. Естественно, в результат могут случайно добавиться строки с другим написанием, но сходным произношением.

EQUIValence (=) годится для случаев, когда регистр либо верхний, либо нижний. Для строк со смешанным регистром он действительно не подходит. В этом случае почему бы не приводить исходный текст к одному регистру при формировании CONTEXT?



Кстати, по умолчанию для BASIC_LEXER поиск в индексе РЕГИСТРОНЕЗАВИСИМЫЙ!

Цитата
mixed_case


Specify whether the lexer leaves the tokens exactly as they appear in the text or converts the tokens to all uppercase. The default is NO (tokens are converted to all uppercase).


--------------------------------------------------------------------------------


Note:


Oracle ensures that word queries match the case sensitivity of the index being queried. As a result, if you enable case sensitivity for your Text index, queries against the index are always case sensitive.


Ты действительно не находишь 'AbCdEf' при паттерне %ABCDEF%?

нда. надо было сразу попробовать а не спрашивать smile.
select * from site_dir where contains(fdir_name,'/%ADOBE Photo%',1)>0
спокойно находит
/PROGS/Graphics/Adobe/Adobe Photoshop/äîïîëíåíèÿ/Web Photo Gallery Templates/Horizontal Light

Спасибо!
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit