因此,SQL Azure最近发布了一项新功能,作为V12升级的一部分。您现在可以在数据库上实现全文搜索目录。
我已经完成了安装说明,并使用XML数据列创建了一个FTI表。
CREATE FULLTEXT CATALOG recordDataCatalog AS DEFAULT;
CREATE FULLTEXT INDEX ON RecordData(Data) KEY INDEX PK_RecordData ON recordDataCatalog;
ALTER FULLTEXT INDEX ON RecordData ENABLE;
GO
ALTER FULLTEXT INDEX ON RecordData START FULL POPULATION;
设置很好;它是一张相当大的桌子(约0.5米排),所以我把它留了一夜,然后第二天就回来了。
看起来已经完成了。但是在XML中搜索已知字符串并没有返回结果。
SELECT * FROM RecordData WHERE Contains(Data, 'formsof(freetext, john)')
(0 row(s) affected)
SELECT * FROM RecordData WHERE Contains(Data, 'john')
(0 row(s) affected)
FULLTEXTCATALOGPROPERTY
的{{1}}报告说它处于空闲状态。
表格的行数与目录中的项目计数相同。
PopulateStatus
我注意到一件奇怪的事情是索引关键字似乎缺失/没有正确填充。
select count(id) from recorddata
------------------------------------------
(No column name)
539726
------------------------------------------
SELECT FULLTEXTCATALOGPROPERTY('recordDataCatalog','ItemCount')
-----------------------------------------
(No column name)
539726
任何人都知道下一步该去哪里。关于FTS& amp;的大多数SQL Docs XML说这应该可行,并且应该根据XML标签边界解析单词列表。鉴于此功能的新功能,Azure特有的文档是不存在的。
答案 0 :(得分:4)
尚不支持xml文档类型索引,并且正在进行工作以支持此操作。可以使用以下方法查询支持的当前文档类型列表:
select * from sys.fulltext_document_types where version !=''