使用Oracle Text的相关性

cos*_*mos 9 oracle search

我想在新闻文本上实现基于相关性的文本搜索.这是要求.

表将包含CLOB类型的Oracle表列中的新闻文本.搜索将基于用户输入的值的降序的相关性来检索新闻文章.例如,用户输入搜索文本"大满贯赛事".该应用程序将返回按此顺序包含这3个关键字中的一个或多个的所有新闻文章,

  1. 所有文章都有"大满贯赛事"
  2. 所有文章都有"大满贯"或"大满贯赛事"
  3. 所有文章中都包含3个单词,但不是连续的
  4. 所有文章中都包含其中任何两个单词但没有连续的文章
  5. 所有文章中至少包含其中一个词

由于数据量较大且文本较长,因此搜索速度较慢

可以使用Oracle 11g的Oracle TEXT搜索功能实现吗?

小智 1

这可能有点题外话,但根据您的环境(如果您没有纯粹锁定到数据库),我们发现使用 SOLR 服务器(或 hibernate-search 等 lucene 应用程序)之类的东西性能更好,提供更好的相关性和比大多数数据库更具可配置性。

根据我的经验,我们让 mysql 使用全文搜索功能来做到这一点,但它从来没有真正按照我们想要的方式工作。