【问题标题】:XPages Domino search producing incorrect results for one particular search termXPages Domino 搜索对某个特定搜索词产生不正确的结果
【发布时间】:2016-05-26 01:25:37
【问题描述】:

我有一个大型多米诺骨牌数据库,我正在使用一些非常基本的语法进行搜索: [LastName] 包含“要搜索的姓名或姓名的首字母或多个字母”*

具体例子: [姓氏] 包含 R* 这将返回所有以“R”开头的姓氏。

这适用于除“S”以外的任何字母。如果你只搜索所有以“S”开头的姓氏,你只会得到一个很小的结果,这是错误的。如果查询由位置进一步限定,它将返回 0 个结果。 [姓氏] 包含 S* 和 [校园] 包含 101 返回 0 个我知道不正确的结果。

但是,[LastName] CONTAINS Se* AND [Campus] CONTAINS 101 将返回 Campus 101 中以 Se 开头的所有姓氏。 [LastName] CONTAINS Se* 将返回正确的结果。

FirstName 和 LastName 字段都会出现这种情况。其他字段不显示此异常。会不会有损坏的记录?如果有,是否可以隔离?

谢谢, ---丽莎&

【问题讨论】:

    标签: javascript search xpages lotus-domino


    【解决方案1】:

    Domino 中的全文搜索不适用于 一个 字母。

    使用search() 代替以下公式:

    @Begins(LastName; "R") & @Contains(Campus; "101")
    

    SSJS search() 将是:

    var searchFormula = 'Begins(LastName; "R") & @Contains(Campus; "101")';
    var dc:NotesDocumentCollection = database.search(searchFormula);
    

    使用 NotesDocumentCollection 在重复控件中显示相关字段(包括文档链接)。

    【讨论】:

    • 如果你可以使用它,我相信创建数据文档的 NoteCollection 也比搜索快得多。我相信它需要 Domino 9.0.x(几年前我在尝试将 OpenNTF Domino API 移植回 8.5.3 时遇到了 NoteCollection 方法的问题)。 NoteCollection 广泛用于 OpenNTF Domino API 图功能。
    • 第一个问题:我创建了一个小的名称数据库。准确地说是8条记录。两个姓氏(名为姓氏的字段)以“F”开头。我在 xpage 中添加了一个按钮,当我使用代码时:
    • var searchFormula = 'Begins(FirstName; "F") '; var dc:NotesDocumentCollection = database.search(searchFormula);
    • 最简单的方法可能是继续使用 viewPanel/search 并强制用户输入至少三个字母作为名称。
    • 感谢 Knut 的帮助,我学会了一种新的搜索方式。今天(经过大量研究)我设法使用重复控件显示搜索结果。现在看看它是否有助于解决“S”(一个字母)问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 2017-02-19
    • 1970-01-01
    相关资源
    最近更新 更多