第四章 使用 SQL Search - SQL search_items 语法

文章目录

  • [第四章 使用 SQL Search - SQL search_items 语法](#第四章 使用 SQL Search - SQL search_items 语法)

基本索引 search_items 可以包含以下语法:

词搜索:

Argument Description
word1 word2 word3 指定这些确切的单词必须出现在文本中的某个位置(以任何顺序)。 (逻辑与)。您可以指定单个单词或由空格分隔的任意数量的单词。
word1 OR word2 NOT word3,word1 OR (word2 AND word3) search_items 可以包含 ANDORNOT 逻辑运算符。 AND 与用空格分隔单词相同(隐式 AND)。 NOT 在逻辑上等同于 AND NOTsearch_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--55。范围是可选的;如果省略,则默认为 1-20。范围计数包括所有指定的单词。 同现搜索不能与 search_option=4(正则表达式)一起使用。

位置短语搜索:

注意:可以使用双引号"word1 word2 word3"或括号 (word1 word2 word3) 来分隔位置短语。由于括号也用于对逻辑运算符进行分组,因此优先使用双引号。

Argument Description
"word1 word2 word3" 这些确切的单词必须按指定的顺序依次出现。单词之间用空格分隔。请注意,没有执行语义分析;例如,"短语"中的单词可能是一个句子的最后一个单词和下一个句子的开头单词。星号通配符可以应用于短语中的各个单词。 search_items 中的文字括号字符必须用引号引起来。
"word1 ? word3","word1 ? ? ? word5" 问号表示在短语中的指定单词之间恰好找到一个单词。可以指定多个单个问号,每个问号用空格分隔。
"word1 ?? word6" 双问号(中间没有空格)表示在短语中的指定单词之间找到 06 个单词。
"word1 [1--3] word5" 方括号表示短语中指定单词之间的单词间隔数:min-max。该间隔被指定为可变范围,在本例中为 13 个缺失单词。

除了基本索引语法之外,语义索引 search_items 还可以包含以下 NLP 实体搜索语法:

完整实体和部分实体搜索:

Argument Description
{entity} 指定 NLP 实体的确切措辞。星号通配符可以应用于实体中的各个单词。
<{entity} 小于号前缀指定以指定单词结尾的 NLP 实体。实体中必须有一个或多个单词出现在指定单词之前。
{entity}> 大于号后缀指定以指定单词开头的 NLP 实体。

可以指定多个search_item,用空格分隔。这是一个隐式 AND 测试。例如:

java 复制代码
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"等。这些项目可以以任何顺序出现在文本中。

相关推荐
测试界的酸菜鱼6 分钟前
Python 大数据展示屏实例
大数据·开发语言·python
时差9538 分钟前
【面试题】Hive 查询:如何查找用户连续三天登录的记录
大数据·数据库·hive·sql·面试·database
让学习成为一种生活方式10 分钟前
R包下载太慢安装中止的解决策略-R语言003
java·数据库·r语言
晨曦_子画16 分钟前
编程语言之战:AI 之后的 Kotlin 与 Java
android·java·开发语言·人工智能·kotlin
Mephisto.java16 分钟前
【大数据学习 | kafka高级部分】kafka的优化参数整理
大数据·sql·oracle·kafka·json·database
Black_Friend24 分钟前
关于在VS中使用Qt不同版本报错的问题
开发语言·qt
秋意钟37 分钟前
MySQL日期类型选择建议
数据库·mysql
山海青风44 分钟前
第七篇: BigQuery中的复杂SQL查询
sql·googlecloud
希言JY1 小时前
C字符串 | 字符串处理函数 | 使用 | 原理 | 实现
c语言·开发语言
残月只会敲键盘1 小时前
php代码审计--常见函数整理
开发语言·php