为什么Oracle文档示例中的最后两个重写规则不起作用?Oracle文本查询重写模板不起作用
http://docs.oracle.com/cd/B28359_01/text.111/b28303/query.htm#i1007557源
查询应用程序有时解析端用户查询,在使用不同的算子的组合 一种或多种方式解释一个 查询字符串。例如,如果用户输入kukui nut的查询,则您的应用程序可能会输入查询{kukui nut}和{kukui或nut}以提高回忆率。
通过查询重写功能,您可以提交将原始查询扩展为重写版本的单个查询。结果 返回时没有重复。
您可以使用查询模板功能指定您的重写序列。 通过对CONTAINS或CATSEARCH的单个调用 高效地执行查询的重写版本。
以下模板定义了一个查询重写序列。 {夏威夷核果}的查询如下重写:
{库奎} {螺母}
{库奎}; {螺母}
{库奎}和{螺母}
{库奎} ACCUM {螺母}
查询重写模板这些变化如下:
select id from docs where CONTAINS (text, '<query> <textquery lang="ENGLISH" grammar="CONTEXT"> kukui nut <progression> <seq><rewrite>transform((TOKENS, "{", "}", " "))</rewrite></seq> <seq><rewrite>transform((TOKENS, "{", "}", " ; "))</rewrite></seq> <seq><rewrite>transform((TOKENS, "{", "}", "AND"))</rewrite></seq> <seq><rewrite>transform((TOKENS, "{", "}", "ACCUM"))</rewrite></seq> </progression> </textquery> <score datatype="INTEGER" algorithm="COUNT"/> </query>')>0;