>>-+----------------------+--+-------------------------+--------> '-RESULT LIMIT--number-' '-EXPANSION LIMIT--number-' >--+------------------------------------------+-----------------> '-STOP SEARCH AFTER--number--+-DOCUMENT--+-' '-DOCUMENTS-' >--+-| boolean-search-expression |-+--------------------------->< '-| freetext-argument |---------' Boolean-search-expression: |--+-| search-term |-------------------------------------------------+--| '-| boolean-search-expression |--| operator-or |--| search-term |-' search-term: |--+-| search-factor |-----------------------------------------------+--| +-| search-term |--| operator-and |--| search-factor |------------+ +-| search-term |--| operator-accum |--| search-factor |----------+ '-| search-term |--| operator-minus |--| positive-search-factor |-' Search-factor: |--+-----+--| positive-search-factor |--------------------------| '-NOT-' Positive-search-factor: |--+-+------------------------------------------------------------+--| search-primary |-+--| | | .-,----------------------------------. | | | | V | | | | '-+-SECTION--+--(----"section-name"--+----------------+-+--)-' | | '-SECTIONS-' '-WEIGHT--number-' | '-attribute-factor-------------------------------------------------------------------' Search-primary: |--+-| text-literal |-------------------+-----------------------| +-| context-condition |--------------+ +-| thesaurus-invocation |-----------+ +-(--| boolean-seach-expression |--)-+ '-(--| text-literal-list |--)--------' Operator-and: |--&------------------------------------------------------------| Operator-or: |--|------------------------------------------------------------| Operator-accum: |--ACCUM--------------------------------------------------------| Operator-minus: |--MINUS--------------------------------------------------------| Context-condition: |----| context-argument |--| IN-SAME |--| context-unit |--| AS |--| context-argument |----> >--+-------------------------------+----------------------------| | .---------------------------. | | V | | '---AND--| Context-argument |-+-' Context-argument: |--+-| text-literal |------------+------------------------------| +-(--| text-literal-list |--)-+ '-| thesaurus-invocation |----' Text-literal-list: .-,------------. V | |----text-literal-+---------------------------------------------| Context-unit: |--+-PARAGRAPH-+------------------------------------------------| '-SENTENCE--' Text-literal: |--+--------------------------------+--+----------------+-------> +-PRECISE-FORM-OF----------------+ '-WEIGHT--number-' +-STEMMED-FORM-OF----------------+ '-FUZZY-FORM-OF--+-------------+-' '-match-level-' >--"word-or-phrase"--+----------------------------+-------------| '-ESCAPE--"escape-character"-' thesaurus-invocation: |--THESAURUS--"thesaurus-name"--EXPAND--------------------------> >--+-+-SYNONYM------------+--TERM OF--| text-literal |-------------------+--| | +-RELATED------------+ | | '-RELATION--(number)-' | '-+-BROADER--+--TERM OF--| text-literal |--+------------------------+-' '-NARROWER-' '-FOR--count--+-LEVEL--+-' '-LEVELS-' Attribute-factor: |--ATTRIBUTE--"attribute-name"----------------------------------> >--+-BETWEEN--valueFrom AND valueTo-+---------------------------| +->--valueFROM-------------------+ '-<--valueTO---------------------' freetext-argument: |--IS-ABOUT--+----------+--"word-or-phrase"---------------------> '-language-' >--+----------------------------+-------------------------------| '-ESCAPE--"escape-character"-'
在指定 SQL 搜索自变量中提供了示例。
RESULT LIMIT 应当与 SCORE 函数一起使用来确保返回的结果已计算了分数,并且只处理最佳结果。
注意,此关键字没有缺省值,并且 number 值必须是正整数。
"Pilot" MINUS "1passenger" &"vehicle" | "transport" & "public"它将按以下顺序进行求值:
(("Pilot" MINUS "passenger") & ("vehicle")) | ("transport" & "public")如果其中一个布尔自变量求值为 true(可与 OR 运算符进行比较),则 ACCUM 运算符求值为 true。等级值是通过累计两个操作数中的等级值来计算的。ACCUM 运算符与 AND 具有相同的绑定(优先权)。如果左操作数求值为 true,则 MINUS 运算符求值为 true。如果右边的操作数求值为 true,则采用左边的操作数的等级值并减去损失来计算等级值。
一个关键字,它指定要将搜索范围限制在结构化文档中的一个或多个部分。必须在创建索引时在指定的模型文件中指定这些部分的名称,请参阅CREATE INDEX。
这些部分的名称是区分大小写的。确保模型文件和查询中的部分名是完全相同的。
此模型描述包含可标识部分的文档的结构,因此可以单独搜索这些部分的内容。不能使用屏蔽字符来屏蔽部分名。如果在某个部分找到 search primary,则使用 SECTION 子句的 positive-search-factor 求值为 true。
如果文档中具有上下文单元(与段有关的句子),文档中的每个扩展的上下文自变量至少包含其中一个文本文字,则此条件求值为 true。可以在以下示例中了解到这种情况:
("a","b") IN SAME PARAGRAPH AS ("c","d") AND THESAURUS "t1" EXPAND SYNONYM TERM OF "e".
假设 e1 和 e2 是 e 的同义词,以下段将匹配:
".. a c e .." , ".. a c e1..", "a c e2..", ".. a d e .." , ".. a d e1..", "a d e2..", ".. b c e .." , ".. b c e1..", "b c e2..", ".. b d e .." , ".. b d e1..", "b d e2..".
采用哪种方式将单词缩短其词干形式是与语言有关的。目前,只支持英语,而且单词还必须遵循常规词尾变化。
要搜索包含双引号的字符串,应输入双引号两次。例如,要搜索文本 "wildcard" character,使用:
"""wildcard"" character"
注意,在该示例中,只能搜索一组引号。不能够搜索一个序列中的两个引号。每个单词或短语的最大长度只能为 128 个字节。
在搜索期间,只允许您使用单字节字符。不允许使用双字节字符。
要将其它搜索词条从同义字添加至的文本文字。
一个关键字,用来指定同义字中词条的层数(深度),这些同义字将用来扩展给定关系的搜索词条。如果不指定此关键字,则假定 COUNT 为 1。深度的值必须是一个正整数值。
属性因子仅用于类型为 double 的属性。保证该值的精度为 15 位。16 个字符和 16 个字符以上的数字会被四舍五入。在 attribute-name、valueFrom 和 valueTo 中不允许使用屏蔽字符。有关解释,请参阅下列内容:
附录E. 受支持的语言 中描述了允许的语言值,它只与泰国语有关。如果未指定,则将 en_US 语言用作缺省语言。语言只用于单词或短语的标记。
注意,仅当请求了分数值,并且搜索结果按分数值排序时,IS ABOUT 才有用。