2010-06-16 67 views
0

用于全文搜索的Oracle NEAR operator会根据两个或更多查询条件的接近度返回分数。例如:如何在Oracle中进行邻近搜索?

附近((狗,咬),6)

比赛如果 '狗' 和 '咬' 内6个字发生。如果在'咬'这个词的6个单词中出现'狗'或'猫'或任何其他类型的动物,我想它会匹配吗?我想:

附近(((狗或猫或动物),咬),6)

但我得到:

NEAR操作数不是一个短语,等价 或另一个NEAR表达式

与其将所有可能的组合扩展到多个NEAR和'或'它们在一起,什么是正确的写入方式e这样的查询?

回答

1

看起来像EQUIV操作员应该这样做。 Doc Ref

您还可以使用等效 运营商在不久的查询来代替单一的长期 :

'附近((股票大跌,日本=韩国),20)'

这个查询要求所有文件 包含短语股票崩溃 日本或韩国的二十字。

+0

感谢,似乎等价运营商甚至上工作超过2项: “附近((股票大跌,日本=韩国=中国),20)” 但是,你会如何“近”一个词与另一个'近'子句? – hko19 2010-06-18 18:12:31