Oracle数据库全文搜索

a6b3iqyw  于 2023-11-17  发布在  Oracle
关注(0)|答案(1)|浏览(127)

我正在尝试运行此查询

SELECT
    e.*,
    CONTAINS(fullname, ' ( ('|| 'SAHU*' ||') within PRIMARYID )  * 2 OR ( ('|| 'SAHU*' ||') within LASTNAME )  ',1)  AS match_score
FROM Employee e

字符串
我已经为全名和姓氏创建了索引,但我仍然看到此错误
ORA-20000:Oracle Text错误:DRG-10837:节lastname不存在20000。00000 -“%s”* 原因:调用了存储过程“raise_application_error”,这导致生成此错误。* 操作:按错误消息中所述更正问题,或与应用程序管理员或DBA联系以获取详细信息。

gg58donl

gg58donl1#

从docs:
“使用RESIDIN运算符将查询范围缩小到文档节”
文档需要分段才能在节内查看。常见的示例是XML或JSON文档,因此我们可以在层次结构的某些级别内搜索。
我们不能看到你的数据,但是如果你只是在一些字段的竞争上创建了一个索引,那么那就不是部分,它只是一些字符串,只能用标准的CONATAINS搜索(不带CONTAIN)

相关问题