在使用其中一个oracle查询时,当我触发一个select命令时,其条件如下:
select * from table_name where contains(address,'"IN%" AND "BÖDEN%"') >0
虽然结果存在于数据库中,但没有结果显示为此查询的一部分。
再次,如果我在“IN”和“%”之间引入一个空格,我会得到正确的结果:
select * from table_name where contains(address,'"IN %" AND "BÖDEN%"') >0
还有一个场景:
相同类型的查询,但如果“IN”替换为“IM”,则会显示相应的结果。
select * from table_name where contains(address,'"IM%" AND "BÖDEN%"') >0
或
select * from table_name where contains(address,'"IM %" AND "BÖDEN%"') >0
以上两个查询都给出了相同的结果。这也很明显。
因此我怀疑在甲骨文中有一些与“IN”结合的东西。
有人可以告诉我这个问题的正当理由以及解决问题的方法吗?
答案 0 :(得分:3)
IN关键字是默认Stoplist中的停用词,用于指定Oracle Text中未编入索引的单词。
您需要将其从停止列表中删除才能搜索此类停用词。
检查Stoplist
的链接另请在oracle中找到其他默认的英语停止词,供您参考Default Stop words