полный текст оракула, не удаляющий стоп-слова при создании инвертированного индекса - PullRequest
0 голосов
/ 03 декабря 2018

Я намерен использовать полнотекстовый поиск оракула.Я использую оракул 12c и 11g.Кажется, полнотекстовый поиск не отфильтровывает стоп-слова при создании инвертированного индекса.Кроме того, он не выполняет стемминг.

create table text_demo (id number primary key, name varchar2(100), description varchar2(4000));

insert into text_demo (id, name, description) values( 1, 'Mike', 'Mike lives in Maryland and attended college at James Madison University');
insert into text_demo (id, name, description) values( 2, 'Joel', 'Joel lives in Ohio and attended college at The Ohio State University');

commit;

create index text_demo_idx1 on text_demo(description) indextype is ctxsys.context;

--searching for word phrase
select * from text_demo where contains( description, 'lives in ohio') > 0;
--1 record returned,as expected

select * from text_demo where contains( description, 'lives ohio') > 0;
--0 record returned. expected 1 record

select * from text_demo where contains( description, 'live in ohio') > 0;
--0 record returned. expected 1 record, lives should stem to live

Пожалуйста, дайте мне знать, если я что-то упустил или мне нужно явно включить некоторые функции

1 Ответ

0 голосов
/ 04 декабря 2018

Оператор $ является оператором stemming, используйте его вместе с & для проведения фразы:

select * from text_demo where contains(description, '$live & $in & $ohio') > 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...