第四章 使用 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"等。这些项目可以以任何顺序出现在文本中。

相关推荐
网络空间站2 小时前
Ruby语言的软件开发工具
开发语言·后端·golang
言之。2 小时前
【设计模式】工厂方法
java·开发语言·设计模式
安冬的码畜日常3 小时前
利用 Python 脚本批量创建空白 Markdown 笔记
开发语言·python·批量生成
利刃大大3 小时前
【MySQL基础篇】十三、用户与权限管理
数据库·mysql
艾思科蓝 AiScholar4 小时前
【IEEE出版,连续4年EI收录,检索稳定 |南京航空航天大学主办,航空航天交叉研究院承办】第五届传感器与信息技术国际学术会议(ICSI 2025)
数据库·人工智能·物联网·机器学习·目标跟踪·机器人·信号处理
小奥超人4 小时前
【PPT解密】ppt只读文档怎么改成可编辑文档
数据库·windows·经验分享·powerpoint·办公技巧
代码驿站5204 小时前
Scala语言的面向对象编程
开发语言·后端·golang
不是只有你能在乱世中成为大家的救世主5 小时前
学习第六十四行
linux·c语言·开发语言·经验分享·学习
JoneMaster6 小时前
[读书日志]从零开始学习Chisel 第十一篇:Scala的类型参数化(敏捷硬件开发语言Chisel与数字系统设计)
开发语言·学习·scala
wangnaisheng6 小时前
.NET中的框架和运行环境
c#·开发模式