云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

香港服务器_阿里云项目管理_新注册优惠

小七 141 0

在这个博客里,我们将介绍全文索引。创建全文索引是为了在表中的特定列上启用文本搜索功能。从概念上讲,为了高效的操作处理,全文索引对列进行搜索的方式与索引支持对书籍进行搜索的方式相同。

全文索引被绑定到表的一个定义列上。表上的DML(Insert,Update和Delete)和DDL(Create,Drop和Alter)命令可以影响/更新全文索引。删除创建索引的表或列时,全文索引将自动删除。

此外,为了获得高搜索性能,建议创建全文索引,

下面的图1显示了数据库表和全文索引之间的关系,

下面的图1数据库表和全文索引之间的关系

*********************************************************************************************************************************************下面是当前支持的数据类型和mime类型的列表支持的语言:

支持的数据类型

显式全文索引:(N)VARCHAR,(N)CLOB,BLOB,ALPHANUM隐式全文索引:SHORTTEXT、text、BINTEXT

支持的mime类型

pdf、Microsoft Office、Open Office、纯文本、html、rtf、xml等。支持的MIME类型列在"SYS"中。"M\u TEXT\u ANALYSIS\u MIME\u types"视图中。

支持的语言

英语、法语、德语、中文…34种语言。支持的语言列在"SYS"中。"M\u TEXT\u ANALYSIS\u languages"视图中。

**********************************************************************************************

有两种全文索引可用:

显式全文索引隐式全文索引

显式全文索引

索引在创建表后单独创建。在这种情况下,表的内容以其原始格式存储。在特定列上手动创建索引将创建一个隐藏列,其中包含指定列的预处理信息。隐藏列用于搜索查询。

图2显式全文索引

手动创建索引的处理可以同步执行[插入/更新调用在所有文档预处理并插入全文索引之前不将控件返回应用程序]或异步执行[插入/更新调用]在对所有文档进行预处理并将其插入索引]之前,将控件返回到应用程序,

显式全文索引支持所有标准SQL函数。

在下面找到创建显式全文索引的语法

在()上创建全文索引

隐式全文索引

使用Text、BINTEXT或SHORTTEXT列创建表时,SAP HANA会自动在指定列上创建相应的全文索引。这是在搜索操作占主导地位,内存消耗非常重要的场景中使用的。图3显示了隐式全文索引。

图3隐式全文索引

在这种情况下,数据不是以原始格式存储的,买云服务器,而预处理的形式就像书尾的索引,每个关键字都位于书尾,并且附录中的页码。但是,如果您启动查询来选择该列上的数据,则原始数据将从全文索引中重建出来。

与显式全文索引不同,隐式全文索引不支持所有标准SQL函数。隐式全文索引几乎没有限制。例如:不能使用列来定义两个表之间的联接,也不能使用字符串运算符"like"。

请在下面查找创建隐式全文索引的语法

创建列表();

*******************************************************************************************************************

预处理和同步

在包含现有数据的列上创建全文索引时,以及通过插入或更新操作将新数据写入该列时,会触发预处理。

处理步骤如下操作在之前的博客中有解释[https://blogs.sap.com/2018/02/01/sap-hana-text-analysis-3/].

文档过滤语言检测符号化词干生成

SAP HANA数据库中的全文索引必须与数据库表的相应列同步创建和更新。

两种同步方式

同步处理异步处理

同步处理

在SAP HANA中,类型TEXT和SHORTTEXT(n)的索引本质上是同步的。当创建一列或在列中插入新文本时,文本预处理会自动执行,从而立即用最新信息更新全文索引。

图4显示了同步处理,在文本预处理完成之前,系统无法将任何数据传输到数据库表。预处理任务完成后,控制返回到应用/触发语句进一步执行

图4同步处理

手动创建全文索引时,可以指定索引是同步还是异步

异步处理

最初不执行文本预处理创建表或列时,或插入新文本时。在这种情况下,插入文本预处理的结果和写入原始数据不会同时发生。

使用异步预处理,触发语句的执行不会等待。当应用程序将数据写入带有全文索引的列时,轻淘客,SAP HANA会将数据本身放入该列中,控件会立即返回到应用程序以供进一步执行。同时,SAP HANA将预处理请求放入预处理队列中,该队列可以使用System View M琰u FULLTEXT琰u队列进行监控,如图5所示。

图5异步处理