我在使用varbinary
谓词查询contains
列时遇到一些问题(它仅适用于nvarchar/varchar
但在msdn文档中指定它适用于image/varbinary
还)
我有这张桌子
[dbo].[Documents]
(
[id] [int] IDENTITY(1,1) NOT NULL,
[title] [nvarchar](100) NOT NULL,
[doctype] [nchar](4) NOT NULL,
[docexcerpt] [nvarchar](1000) NOT NULL,
[doccontent] [varbinary](max) NOT NULL,
CONSTRAINT [PK_Documents]
PRIMARY KEY CLUSTERED ([id] ASC)
)
doctype
- 文档类型(格式)docexcerpt
- 文档的小片段doccontent
- 存储在varbinary中的整个文档代码:
INSERT INTO dbo.Documents (title, doctype, docexcerpt, doccontent)
SELECT
N'Columnstore Indices and Batch Processing',
N'docx',
N'You should use a columnstore index on your fact tables, putting all columns of a fact table in a columnstore index. In addition to fact tables, very large dimensions could benefit from columnstore indices as well. Do not use columnstore indices for small dimensions. ',
bulkcolumn
FROM
OPENROWSET(BULK 'myUrl', SINGLE_BLOB) AS doc;
现在这就是它的样子:
我已经安装了Microsoft Office 2010 Filter Pack并在SQL Server中注册了它们,并使用
检查我是否需要安装(.docx
)
SELECT document_type, path
FROM sys.fulltext_document_types;
这是输出
我的问题是这个查询没有返回任何内容:
作为观察,我使用以下代码在我的表上创建了一个全文目录和索引,同时使docexcerpt
和doccontent
索引列成为
--fulltext index
CREATE FULLTEXT INDEX ON dbo.Documents
(
docexcerpt Language 1033,
doccontent TYPE COLUMN doctype Language 1033
STATISTICAL_SEMANTICS
)
KEY INDEX PK_Documents
ON DocumentsFtCatalog
WITH STOPLIST = SQLStopList,
SEARCH PROPERTY LIST = WordSearchPropertyList,
CHANGE_TRACKING AUTO;
我不确定我做错了什么/失踪了。我很感激任何帮助。感谢
答案 0 :(得分:0)
我设法解决了这个问题。这个错误......好吧......我忘记了为了让我的查询正常工作,我必须将我的文档重新插入表格(编辑后)。不能相信我已经麻木了。