我正在尝试运行此查询
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:姓氏部分不 存在 20000.00000 - “%s” *原因:存储过程“raise_application_error” 被调用导致生成此错误。 *操作:按照错误消息或联系方式中的描述更正问题 请联系应用程序管理员或 DBA 了解更多信息。
来自文档:
“使用WITHIN 运算符将查询范围缩小到文档部分”
需要对文档进行分段才能在各个部分中进行查看。常见的示例是 XML 或 JSON 文档,因此我们可以在层次结构的某些级别内进行搜索。
我们看不到您的数据,但如果您只是在某些字段的串联上创建了索引,那么这不是部分,它只是一些字符串,并且只能使用标准 CONATAINS(不带WITHIN)进行搜索