2

我的全文搜索索引有问题。我有一个字符字段大小为 30 的表。我在该字段上创建了一个全文搜索索引,以便在该字段上进行不区分大小写的快速搜索操作。现在,当我执行如下查询时:SELECT fieldname FROM tablename WHERE CONTAINS(fieldname, '123')我得到一些在指定字段名中包含 123 的记录。但是,此表中有以 123 开头的记录,但这些记录未显示在查询结果中。事实上,查询似乎只显示在前一个空格字符后包含 123 的结果。

我的全文搜索索引如下所示:

CREATE INDEX idxname ON tablename (fieldname) CONTENT MIN WORD 1

我正在使用 Advantage 数据库服务器 9.1

有什么想法可能是错的吗?

谢谢,

于尔根

4

1 回答 1

3

搜索表单CONTAINS(fieldname, '123')将找到具有123单个“单词”的条目。它不会找到12344123。您可以使用CONTAINS(fieldname, '123*')查找包含以 开头的“单词”的记录123。并且CONTAINS(fieldname, '*123*')会找到包含123任何地方的单词的记录。

请注意,表单的搜索*123*效率较低,因为它必须扫描整个索引。

于 2012-08-09T16:31:37.587 回答