第四章 使用 SQL Search - SQL search_items 语法
基本索引 search_items
可以包含以下语法:
词搜索:
Argument | Description |
---|---|
word1 word2 word3 |
指定这些确切的单词必须出现在文本中的某个位置(以任何顺序)。 (逻辑与)。您可以指定单个单词或由空格分隔的任意数量的单词。 |
word1 OR word2 NOT word3,word1 OR (word2 AND word3) |
search_items 可以包含 AND 、OR 和 NOT 逻辑运算符。 AND 与用空格分隔单词相同(隐式 AND )。 NOT 在逻辑上等同于 AND NOT 。 search_items 还可以使用括号对逻辑运算符进行分组。在分组括号中指定多个单词时,需要显式 AND :(word2 AND word3 )。如果省略显式 AND ,则 (word2 word3 ) 将被解释为位置短语。可以使用 \ 转义字符将 AND、OR、NOT 指定为文字而不是逻辑运算符: \and
|
?word word? w?rd w??d |
问号通配符精确指定任何类型的一个非空格字符。一个或多个 ? 通配符可以用作前缀、后缀或在单词内使用。可以结合吗? 和 * 通配符。可以使用 \ 转义字符来指定 ? 作为字面意思:\?
|
*word,word*,*word*,w*d |
星号通配符指定 0 个或多个任何类型的非空格字符。星号可以用作前缀、后缀或在单词中使用。可以使用 \ 转义字符将 * 指定为文字: \*
|
同现词搜索:
Argument | Description |
---|---|
[word1,word2,...,range] |
同现搜索。指定这些确切的单词必须出现(以任何顺序)在范围指定的邻近窗口内。可以指定任意数量的单词或多单词短语。多单词短语被指定为由空格分隔且没有分隔标点符号的单词。单词(或位置短语)以逗号分隔,最后一个逗号分隔的元素是可选的数字范围。单词可以指定星号通配符。 范围可以指定为 min–max 或简单地指定为 max ,默认最小值为 1 。例如,1–5 或 5 。范围是可选的;如果省略,则默认为 1-20 。范围计数包括所有指定的单词。同现搜索不能与 search_option=4 (正则表达式)一起使用。 |
位置短语搜索:
注意:可以使用双引号“word1 word2 word3”
或括号 (word1 word2 word3)
来分隔位置短语。由于括号也用于对逻辑运算符进行分组,因此优先使用双引号。
Argument | Description |
---|---|
"word1 word2 word3" |
这些确切的单词必须按指定的顺序依次出现。单词之间用空格分隔。请注意,没有执行语义分析;例如,“短语”中的单词可能是一个句子的最后一个单词和下一个句子的开头单词。星号通配符可以应用于短语中的各个单词。 search_items 中的文字括号字符必须用引号引起来。 |
"word1 ? word3","word1 ? ? ? word5" |
问号表示在短语中的指定单词之间恰好找到一个单词。可以指定多个单个问号,每个问号用空格分隔。 |
"word1 ?? word6" |
双问号(中间没有空格)表示在短语中的指定单词之间找到 0 到 6 个单词。 |
"word1 [1–3] word5" |
方括号表示短语中指定单词之间的单词间隔数:min-max 。该间隔被指定为可变范围,在本例中为 1 到 3 个缺失单词。 |
除了基本索引语法之外,语义索引 search_items
还可以包含以下 NLP
实体搜索语法:
完整实体和部分实体搜索:
Argument | Description |
---|---|
{entity} |
指定 NLP 实体的确切措辞。星号通配符可以应用于实体中的各个单词。 |
<{entity} |
小于号前缀指定以指定单词结尾的 NLP 实体。实体中必须有一个或多个单词出现在指定单词之前。 |
{entity}> |
大于号后缀指定以指定单词开头的 NLP 实体。 |
可以指定多个search_item
,用空格分隔。这是一个隐式 AND
测试。例如:
SELECT Narrative FROM Aviation.TestSQLSrch WHERE %ID %FIND
search_index(NarrSemanticIdx,'<{plug electrode} "flight plan" instruct*',0,'en')
表示叙述性文本必须包含一个或多个以“plug electrode”
结尾的 SQL
搜索实体、位置短语 “flight plan”
,以及带有通配符后缀的单词“instruct”
,允许 “instructor”
, “instructors”
, “instruction”
, “instructed”
等。这些项目可以以任何顺序出现在文本中。
网友评论