oracle - Oracle Text catsearch 左截断搜索
问题描述
因此,根据关于 catsearch 的 Oracle 文档,不可能将左截断搜索与 catsearch 文本查询一起使用。但是,我发现使用双通配符确实具有左截断查询的预期效果。
例如select * from foo where CATSEARCH(bar, '**zing', '')>0;
,会找到带有“这太棒了”价值的 bar 的记录,而
select * from foo where CATSEARCH(bar, '*zing', '')>0;
不会
对于我的单词列表的配置,我启用了substring_index和prefix_index。在 substring_index 描述中,它确实提到了左截断(和双截断)通配符的用法。
我找不到任何理由说明为什么/如何使用双通配符,它的优化程度以及它是否有任何其他副作用。
所以终极问题:
- 为什么这种语法有效,是否有任何描述它的地方?
- 在性能方面是否平等?
- 使用这种语法时,人们还应该注意其他副作用吗?
解决方案
推荐阅读
- visual-studio - 类中方法参数的数量错误
- c# - 没有使用 PromptValidator,而是在 ChoiceExtractor 中抛出错误
- javascript - 用javascript创建一个“临时css”值得吗?
- c++ - Qt5: Call main-application functions from within a plugin
- macos - process.WaitForExit() 不在 Mac OS X 中等待 - ASP.NET Core 2.2
- html - 如何更改我的代码以使其更具响应性?
- python - Selenium 异常:消息:无效参数:无法终止已退出的进程
- c# - 调用 get 操作时未设置 ViewBag 属性
- php - 如何仅从我的 public/-Nginx 的特定文件夹中索引文件?
- datatables - 使用编辑器数据表保存之前更改字段值