我想在新闻文本上实现基于相关性的文本搜索。这是要求。
表将包含CLOB类型的Oracle表列中的新闻文本。搜索将基于用户输入的值的降序的相关性来检索新闻文章。例如用户输入搜索文本“大满贯赛事”。该应用程序将返回所有按此顺序包含这3个关键字中的一个或多个的新闻文章,
由于数据量较大且文本较长,LIKE搜索速度较慢
可以使用Oracle 11g的Oracle TEXT搜索功能实现吗?
答案 0 :(得分:1)
这可能有些偏离主题,但是根据您的环境(如果您没有完全锁定数据库),我们发现使用类似SOLR服务器(或像hibernate-search这样的lucene应用程序)的功能更好,给出更好的相关性,比大多数数据库更易配置。
根据我的经验,我们使用全文搜索功能让mysql执行此操作,但它从未按照我们想要的方式运行。
答案 1 :(得分:0)
虽然我对oracle并不擅长,但据我所知,文本数据类型需要使用contains关键字,文本数据类型应该被编入索引以提供更好的搜索性能
有关新全文搜索的使用情况,请参阅oracle docs
答案 2 :(得分:0)
查看以下示例,它将解释如何使用“包含”进行搜索。
http://www.oracle-base.com/articles/9i/FullTextIndexingUsingOracleText9i.php
本文档还包括您可以在包含搜索中使用的运算符。 http://download.oracle.com/docs/cd/B28359_01/text.111/b28304/cqoper.htm#autoId8