【问题标题】:Full Text Search not working on XML Columns on SQL Azure全文搜索不适用于 SQL Azure 上的 XML 列
【发布时间】:2015-05-23 14:05:15
【问题描述】:

因此,SQL Azure 最近发布了一项新功能,作为 V12 升级的一部分。您现在可以在您的数据库上实现全文搜索目录。

http://azure.microsoft.com/blog/2015/04/30/full-text-search-is-now-available-for-preview-in-azure-sql-database/

我已经阅读了设置说明,并创建了一个 FTI pn 表,其中包含一个 XML 数据列。

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.5m 行),所以我把它放了一夜,第二天又回来了。

看起来已经完成了。但是在 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) 

PopulateStatusFULLTEXTCATALOGPROPERTY 报告它处于空闲状态。

表格的行数,与目录中的项目数相同。

select count(id) from recorddata
------------------------------------------
(No column name)
539726
------------------------------------------
SELECT FULLTEXTCATALOGPROPERTY('recordDataCatalog','ItemCount')
----------------------------------------- 
(No column name)
539726

我注意到的一件奇怪的事情是索引关键字似乎丢失/未正确填充。

SELECT * FROM sys.dm_fts_index_keywords(
    DB_ID('TransomTest'), 
    OBJECT_ID('RecordData'))
------------------------------------------------------
keyword display_term    column_id   document_count
0xFF    END OF FILE     2           539726

任何人都知道下一步要去哪里。大多数关于 FTS 和 XML 的 SQL 文档都说这应该可以工作,并且应该根据 XML 标记边界解析单词列表。鉴于此功能的新功能,不存在特定于 Azure 的文档。

【问题讨论】:

    标签: sql-server xml azure full-text-search azure-sql-database


    【解决方案1】:

    xml 文档类型索引尚不支持,支持此功能的工作正在进行中。当前支持的文档类型列表可以通过以下方式查询:

    select * from sys.fulltext_document_types where version !=''
    

    【讨论】:

    • 我假设文档类型与本机 sql 列类型不同?也许不吧。奇怪的是,在公告的第一段中明确表示支持 XML。是否有官方消息来源/评论,或者您在哪里找到有关正在进行的工作的信息。 ?
    • 我来自 SQL 工程团队,正在从事这方面的工作。您还可以在此博客中查看更新:azure.microsoft.com/blog/2015/04/30/…
    • 这应该在接下来的几周内可用。谢谢!
    • 现在可以使用了。
    猜你喜欢
    • 1970-01-01
    • 2016-08-14
    • 2018-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多