词、词序、词距
1.
词(Item):
也称为最小检索单位。在西文中,单词跟单词之间以空格分隔,检索的最小单
位就是一个单词。例如:“cat and mouse”,就是3 个词。对于多字节编码的
文字,像中文,因为词跟词之间没有明显的分隔符进行区分,所以GBase UP
默认是以单个字为一个检索单位。
例如
“上海”
,
在全文检索中默认是两个词,
分别是“上”和“海”,搜索(上&海),此时上海和海上都会命中 并且不保证
两字紧邻 如需紧邻则需要显式的设置“上海”。分析文本时,对于西文单词
之间的空格、换行符会直接被过滤掉,不作为索引词也不计算占用的位置。对
于中文字符之间的空格,以及其他符号(像全角的标点符号例如“”,。!;
¥【】等符号,特殊字符例如#,*,$等)也进行过滤,不作为索引词,但是建
立索引时会记录这些符号所占用的位置,这会影响词距。
2.
词序:
指二个词之间的前后顺序。在进行多个词查询的时候,需要指定查询的多个词
之间是有序查询还是无序查询,通过指定词序来过滤相关条件。例如要查询无
词序要求的“上海”,不仅能查出“上海”,还可查出“海上”。
3.
词距:
指二个词之间间隔单词数,也包含被查询的首尾词。例如:
“the black cat catch
white mouse”这段文字中要查询“cat mouse”,则词距就是4。对于中文来说,
则词距为两个汉字之间间隔的字符数
(字符包含汉字、
标点、
空格、
符号等等,
回车符略去不算)
。
例如
“上周,
我去海洋局开会...”
这段文字要查询
“上 海”
,
GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 940
则词距为6,例如查询“售卖制作假文*#凭、发*票”的垃圾短信中“文凭”,
则词距为4。
4.
空格的特殊性:
计算词距时,中英文之间的空格处理不同,英文之间的空格作为分隔符会被过
滤掉而且不占位置,例如搜索“the great” 时这两个词的词距为2,而中文之
间的空格则会占位,例如搜索“天 津”时,天津这两个字的词距为3,跟无空
格的“天津”是不同的。