1

我在执行 db.FTSearch(FIELD 示例字段 >= 2013 年 2 月 25 日)时收到错误消息:“文本字段中不支持关系运算符”。这里的字段名称是“examplefield”,字段类型是日期时间

任何人都可以帮助解决这个问题吗?

4

2 回答 2

1

正如西蒙链接到的问题中所述,数据库中的 UNK 表将确定在进行全文搜索时用于字段的数据类型。您在任何特定表单上为该字段设置的数据类型无关紧要 - UNK 表中的字段由文档上的实际数据定义,并且不会自动重新计算自身。因此,您首先要确保它所在的每个文档中的“examplefield”都具有日期时间的数据类型。但是,您还需要重新构建 UNK 表。有两种方法 - 我知道 - 可以做到这一点:

  1. 删除数据库上的全文索引,压缩数据库,然后重新创建索引。
  2. 创建数据库的新副本并将现有数据库替换为副本。

此外,您可以使用免费软件 NotesPeek 工具检查 UNK 表中字段的数据类型 - 您可以从这里下载: http ://www-01.ibm.com/support/docview.wss?uid=swg24005686

于 2013-02-27T23:07:25.327 回答
0

一般来说,我不会使用 FTSearch。我将创建一个隐藏视图,其中第一列按示例字段排序为格式为 yyyy-mm-dd 的文本。然后,你可以使用这个:

set o_doc = o_hidden_view.GetDocumentByKey("2013-03-25") 
while not o_doc is nothing
    'Do something

    set o_doc = o_view.GetnextDocument(o_doc)
Wend

在我看来,它有更好的时间响应,代价是把负载放在服务器上。与往常一样,这取决于您要处理的数据类型。

于 2013-03-15T03:12:53.640 回答