Oracle テキストを使用して文のコーパスを検索しています
例: 私のクエリは ( dog cat table )
、「犬」という用語が見つかった場合、文に「犬」という用語が複数含まれていても、1 とカウントする必要があります。「dog cat」が見つかった場合は、2 とカウントする必要があります ... など
このクエリを使用しましたが、2 つの用語が見つかった場合は 51 になります。個別のオカレンスを蓄積する必要があります。そこで、Oracle Text のスコアリング アルゴリズムの動作をオーバーライドしたいと考えています。
select /*+ FIRST_ROWS(1)*/ sentence_id
,score(1) as sc
, isn
,sentence_length
from plag_docsentences
where contains(PROCESSED_TEXT,'DEFINESCORE(dog, DISCRETE*.01)
,DEFINESCORE(cat, DISCRETE*.01)'
,1)>0
order by score(1) desc