【问题标题】:Advantage Database: Full Text Search not returning results that start with the search string优势数据库:全文搜索不返回以搜索字符串开头的结果
【发布时间】:2012-08-09 16:16:49
【问题描述】:

我的全文搜索索引有问题。我有一个字符字段大小为 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

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

谢谢,

尤尔根

【问题讨论】:

    标签: full-text-search advantage-database-server


    【解决方案1】:

    CONTAINS(fieldname, '123') 形式的搜索将找到以 123 作为单个“单词”的条目。它不会找到12344123。您可以使用CONTAINS(fieldname, '123*') 查找“单词”以123 开头的记录。而CONTAINS(fieldname, '*123*') 将查找包含带有123 的单词的记录。

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

    【讨论】:

      猜你喜欢
      • 2020-05-05
      • 1970-01-01
      • 2015-05-16
      • 1970-01-01
      • 1970-01-01
      • 2016-05-03
      • 2020-09-08
      • 2014-10-15
      • 1970-01-01
      相关资源
      最近更新 更多