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

相关推荐
zh_xuan8 分钟前
测试go语言函数和结构体
开发语言·golang
霖霖总总8 分钟前
[Redis小技巧7]Redis Bitmaps 深度解析:从原理到用户签到实战
数据库·redis·缓存
Keanu-9 分钟前
Redis 安装与部署
数据库·redis
小龙报18 分钟前
【算法通关指南:算法基础篇】二分算法: 1.A-B 数对 2.烦恼的高考志愿
c语言·开发语言·数据结构·c++·vscode·算法·二分
yong999021 分钟前
NNDA、PDA、JPDA、IMM数据关联算法MATLAB实现
开发语言·算法·matlab
我爱小疯喵喵23 分钟前
2 常用数据库命令行操作
数据库
七夜zippoe24 分钟前
Docker容器化实战:核心概念、镜像制作与多阶段构建全解析
java·jvm·数据库·docker·oracle·容器化
Shining059629 分钟前
Triton & 九齿系列《Triton 练气术》
开发语言·人工智能·python·学习·其他·infinitensor
跟着珅聪学java30 分钟前
Electron 精美菜单设计
运维·前端·数据库
天远Date Lab34 分钟前
天远企业司法认证API实战:Python构建企业级供应链合规审查防火墙
大数据·开发语言·网络·python