使用“LIKE”进行有效全文搜索的索引句法
我有一个应用程序,它将如下查询发送到数据库:
x like '%abc%'
我无法修改这些查询,但可以为基础表建立索引。有没有什么方法可以在表上放置全文索引,以便可以在不进行完整扫描的情况下执行双重开放式查询?
I have an application which sends queries like the following to the database:
x like '%abc%'
I can't modify these queries, but I can index the underlying tables. Is there any way to put a full text index on a table such that double open-ended like queries can be performed without a full scan?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不,没有办法使带有通配符的
LIKE
谓词避免表扫描,因此它们在全文搜索中表现良好。您必须使用 Oracle Text 功能并修改查询以使用文本搜索谓词。请参阅 Oracle® Text 应用程序开发人员指南
No, there is no way to make
LIKE
predicates with wildcards avoid a table-scan so they perform well for full-text search. You must use Oracle Text features and modify your queries to use text-searching predicates.See Oracle® Text Application Developer's Guide