标引
,是创建索引的过程。索引是允许SQL(或更通常是DBMS或搜索引擎)定位的结构,
以非常有效的方式
,基于其中一个(或多个)字段的值的记录。
例如,一个数据库可能包含在包含学生记录的表中,包括他们的学生ID、他们的姓名、出生日期、电话号码…通过在电话号码上创建索引,我们可以根据电话号码搜索学生。在没有索引的情况下,系统会找到相同的记录,但通过查看每个记录并与所需的电话号码进行比较,可以执行此操作。
全文索引
为一个(或多个包含文本的字段)创建索引的过程。与基于将字段的完整值(或可能是简单的正则表达式)与所需搜索值进行比较的常规索引不同,全文索引可以基于字段中找到的单词来定位记录。
例如,书目数据库可能包含描述书籍的记录,其中包含ISBN、作者、标题、类型、价格等字段。一个全文索引(有时称为“目录”)上的字段标题,将允许有效地定位,书名为“老人和海洋”时,说“人”。
全文引擎通常具有与文本相关的语言概念的内置和可参数化“理解”。例如,“干扰词”(也称为“停止词”)是文本中经常出现的词(例如英语中的“the”、“and”、“of”、“in”),为了最小化索引大小并使使用更具选择性的词的搜索更有效,可以忽略。此外,全文引擎还可以了解单词的各种语法形式,比如单词的单数和复数形式(比如英寸和英寸、脚和脚、猫和猫),或者动词的连词(比如catch、catch和catch,或者口译、口译、口译)。得益于这种语法意识,全文引擎可以(如果如此指示)定位单词,即使它们不完全匹配搜索条件。
全文引擎通常还公开搜索语言/语法,允许用户指定所需搜索的特定元素。例如,在“人”的5个字内搜索“海”。或者找到“湖”或“海”以及“水”等词。