问题标签 [oracle-text]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle10g - Oracle Text:如何不计分查询的一部分?
我有一个使用 Oracle Text 索引的多列数据存储,并且我正在使用 Contains 关键字运行查询。
为了对不同的列进行不同的加权,我进行如下操作。
如果用户搜索“可怕”,则向 oracle 发出的查询将如下所示:
但是要添加一个也被索引的类别过滤器,我这样做:
这会按类别过滤,但这会完全打乱评分,因为 Oracle 文本将从 AND 关键字的任何一侧获得最低分数。相反,我想指示 oracle 忽略 AND 的右侧。
有没有办法让评分忽略查询的这个特定部分?
基本上,我想根据
但我想根据
oracle - 解决 Oracle 11.2 上 emagent.trc 中的 DRG-11119 错误
我们的 Oracle 11.2.0.3 数据库中有几个 CTXCAT 类型的 Oracle Text 索引。Oracle 企业管理器中的一个进程每 8 分钟运行一次,并转储有关多年不存在的索引的错误,例如跟踪文件 $ORACLE_HOME/node_SID/sysman/log/emagent.trc 中的一个:
我进行了一次疯狂的尝试,并以 CONTEXT 类型的名称创建了一个新索引(CTXCAT 不起作用),错误停止了一段时间。我删除了该索引,然后开始得到以下内容,这与我在尝试创建 CTXCAT 类型的索引时看到的错误相同:
我做了一些调查,发现在任何 CTXCAT 类型索引上调用 ctx_report.index_stats( ctxcat_indexname ) 都会给我完全相同的错误,直到行号。
更多的调查随之而来,因为在谷歌上寻找 textIndexStats 并没有出现太多。我终于在输出列表中找到了它:
但是里面什么都没有select * from dba_scheduler_jobs matched textIndexStats
,所以我不清楚下一步该往哪里看,想知道如何防止再次发生。
mysql - 使用 MATCH AGAINST 将查询从 MySQL 转换为 Oracle
我真的需要以下用 MySQL 编写的查询的帮助,我想在 Oracle pl/sql 中转换。我阅读了一些 Oracle 文本文档,我想MATCH AGAINST
在 MySQL 中我可以CONTAINS
在 Oracle 中使用,但是在转换列 score、score0 和 score1 时遇到问题。
sql - 查询优化和连接
我经常运行这个查询,我想优化它。
我创建了一个索引,但它与没有索引的时间相同
还有其他选择吗?
sql - 无法使用同步创建 Oracle Text 索引(每个...)
我正在尝试在表中的 CLOB 列上创建 Oracle 文本索引,但是每当我尝试将同步参数指定为 'SYNC (EVERY "(sysdate+30/24/60/60)")' 时,它都会失败一些关于权限不足的错误。
这些表定义为:
因此,当我尝试在 message_data 列上创建文本索引时:
所以基本上我想创建一个每 30 秒同步一次的索引,因为这是一个将一直添加大量新消息的表(每秒可能有数百到数千条消息)。
运行创建索引时,它会输出:
据我所知,用户拥有所有必要的权限。如果我删除“sync”参数或将其更改为“SYNC (ON COMMIT)”,则索引会正确创建。
为什么我不能将同步参数设置为“每个”?我究竟做错了什么?
我正在使用的 Oracle 版本是:
sql - 在多个表和连接上进行 Oracle 文本搜索
我有以下 SQL 语句。
哪里v_depts
有风景。
现在我想添加一个或多个表作为连接,以便我可以对列进行文本搜索,例如employee_details
包含员工信息,我可以加入emp_no
我已经在employee_details
表上为emp_name
列创建了索引,但是我无法加入 v_depts 进行搜索,因为我将我的 sql 语句修改为
它给了我错误
即使我已经为employee_details
表中的 emp_name 列创建了索引。我怎么解决这个问题?
emp_name 的索引语句
sql - Oracle 正文:catsearch 不支持函数调用
这是我的设置:
我的(简化)查询:
错误:
从命令的第 1 行开始出错:select /*+ INDEX(customer CTXCAT_CUSTOMER_NAME) / from customer where CATSEARCH(customer_name,'ltd Anderson',null) > 0 or customer_id > 100 错误报告:SQL 错误:ORA-20000: Oracle Text错误:DRG-10849:catsearch 不支持功能调用 20000。00000 -“%s” *原因:调用了存储过程“raise_application_error”,导致生成此错误。*操作:更正错误消息中所述的问题,或联系应用程序管理员或 DBA 以获取更多信息。
HINT 建议来自这里:https ://forums.oracle.com/message/2847094显然对我不起作用。
任何想法如何解决?
sql - 使用布尔运算符的 Oracle 文本搜索
我有以下查询,我在 xmlpath 中搜索文本,这与这篇文章Oracle text search on multiple tables and joins的延续
我想使用 AND、OR 布尔运算符进行搜索,我已经按照本文档 http://docs.oracle.com/cd/B19306_01/appdev.102/b14259/xdb09sea.htm#CBBBHJJJ中的说明进行了尝试
但是它不返回任何结果,我如何使用布尔运算符,如 AND 或 Oracle 文本搜索?
sql - 在某些列上进行 Oracle 文本搜索
如何contains
在多个字段上使用 Oracle 文本搜索?
我只想在emp_name
and上搜索supervisor
,所以我使用了以下查询
但是它没有得到任何结果。
如何使用表或物化视图中的某些列在有或没有布尔运算符的情况下进行搜索。
oracle - 与 Oracle 文本搜索最接近的匹配,包括短字符串
我想在给定字符串的数据库列中找到最接近的匹配字符串。搜索后我想出了下表并查询
我已将相似度分数设置为最小值,即 1。它适用于“Parsi”或“Parse”等搜索字符串。它给了我想要的结果。但如果搜索字符串太小,如“par”或“pa”,它不会显示任何结果。
即使使用非常短的字符串进行搜索,我应该怎么做才能获得最接近的匹配?