我在Web应用程序中创建了一个简单的单词搜索,它遍历存储在Oracle 12c数据库中的所有文档,并显示指向包含特定单词的文档的链接。此外,它根据每个文档中出现的次数对文档列表进行排序。
文档是存储在NCLOB数据类型列中的简单html格式文本,前几行:
<div class="content3">
<div class="content_bg">
<div class="mainbar3">
<div class="article">
<h2>Welcome to Web<br>
</h2>
<p>This web is categorized into several sub-webs which are accessible from the main page:</p>
<p><strong>Teams</strong></p>
<p>This sub web is accessible for everyone in o
&#34;网络文件&#34;单击搜索输出中的特定链接时,将在浏览器中显示。
在搜索输出(文档链接列表)中,我希望包含每个文档的摘录,并突出显示搜索词。请注意,每个文档可以包含大于1个单词出现次数的任何数字,并且搜索应该不区分大小写。搜索输出仅包含指向该单词至少出现一次的文档的链接。
这是我到目前为止的地方:
select 'Documents',
'open_document.aspx?id=' || doc_id,
regexp_replace(regexp_replace(web_code, '<(.|\n)*?>', ''), '(word)', '<b><span style="background-color: #ffff00;">\1</span></b>\2', 1, 0, 'i') web_code,
doc_name,
regexp_count(regexp_replace(web_code, '<(.|\n)*?>', ''), 'word', 1, 'i') occurences
from web_knowledge_base
where lower(web_code) like '%word%';
这将显示指向包含搜索词的文档的链接,稍后用于订购链接列表的出现次数,还会显示突出显示搜索词的html文档(即带样式部分的regexp_replace)
任何限制html文档(regexp_replace部分)
中显示内容的方法a)仅显示每次出现时包含搜索词的句子
b)在每次出现搜索词之前和之后显示10个字符
虽然仍然突出显示搜索词并且搜索不区分大小写?
如果可能,我希望将此作为select语句的一部分。
非常感谢!