我在阿拉伯语网站的索引URL中使用Oracle文本,我注意到在索引网站时它不会忽略标点符号,因为阿拉伯语不受支持且没有词库。 当我搜索没有标点符号的句子时,分数很低,并返回不良结果 当我用标点符号搜索时,有时会返回此错误:
ORA-20000:Oracle Text错误
DRG-50962:变换输入字符串
中不允许使用查询运算符我知道这个错误意味着什么,一些句子包含Oracle Text运算符,如何在搜索中忽略它们(按原样发送句子),或者要删除的运算符列表是什么。 注意:我正在使用Query重写和转义序列
(select /*+ FIRST_ROWS(1)*/ id,score(1) as sc1, isn ,sentence_length,URL from plag_web_temp_docsentences
where contains(URL,'<query>
<textquery>' || OriginalSentence ||'
<progression>
<seq><rewrite>transform((TOKENS, "{", "}", "{ }"))</rewrite></seq>
</progression>
</textquery>
<score datatype="INTEGER" algorithm="COUNT"/>
</query>',1)>0
答案 0 :(得分:1)
好吧,我认为查询重写不允许转义序列(没有参考,只是我的经验)所以我正常使用转义序列,我的查询看起来像这样,它工作
select /*+ FIRST_ROWS(1)*/ id,score(1) as sc1, isn ,sentence_length,URL from plag_web_temp_docsentences
where contains(URL,'{'|| OriginalSentence ||'}',1)>0 ;
但如果有人有其他解决方案,请建议