【问题标题】:"Relational operators are not supported in text fields"“文本字段不支持关系运算符”
【发布时间】:2014-01-14 05:37:03
【问题描述】:

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

谁能帮忙解决这个问题?

【问题讨论】:

标签: lotus-notes lotus


【解决方案1】:

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

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

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

【讨论】:

  • 顺便说一句:UNK 表在 NotesPeek 中显示为“项目定义表”
  • 谢谢 - Ed Schembor,但我已经尝试了这些步骤,但我还是一样:(
【解决方案2】:

一般来说,我不会使用 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

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

【讨论】:

    猜你喜欢
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多