как оракул содержит запрос работает? - PullRequest
0 голосов
/ 12 февраля 2012

У меня есть этот запрос:

select id from mytable where contains(all_text,'('||?||' within name)*2,
('||?||' within description)',1)>0

Как работает содержимое в предложении where?

Спасибо,

1 Ответ

1 голос
/ 12 февраля 2012

Если первый параметр встречается в разделе имени, то его вес вдвое превышает вес второго параметра, встречающегося в разделе описания.

Этот оператор «содержит» устанавливает переменную оценки. Без этого удвоение веса не имеет смысла для условия «> 0». Тем не менее,

SELECT id FROM mytable WHERE CONTAINS(all_text,'('||?||' WITHIN name)*2,
('||?||' WITHIN description)',1)>0 ORDER BY SCORE(1) DESC 

будет полностью иметь смысл и будет упорядочивать идентификаторы в первую очередь по тем строкам, в которых искомый термин будет найден в разделе имени.

Вот полезная ссылка, на всякий случай: http://docs.oracle.com/cd/B19306_01/text.102/b14218/cqoper.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...