1

我在 XPage 中使用了一个视图控件,并且非常努力地整合了一个搜索。

我还有一个下拉列表来选择一个类别,用作搜索的附加过滤器。

我的查询现在是:

sessionScope.searchTerm AND Field Category=" + sessionScope.categoryname + "

除了类别过滤器正在查找非精确匹配项之外,一切最终都正常工作,例如“管理”在“管理”类别中找到文档,也在“设施管理”中找到文档。这是不可接受的。

我尝试在视图属性中设置 searchExactMatch=true ,但这给出了堆栈跟踪,并且在日志中出现错误:“GTR 搜索错误:区分大小写的参数错误。:查询无法理解”

所以我猜这个参数是为了精确的大小写匹配,而不是暗示的精确搜索词匹配。不是帮助中所说的,但好吧,我像往常一样用拳头滚动。

如果我使用“按类别名称过滤”,则类别过滤器在没有搜索词的情况下效果很好,并且搜索似乎可以正常工作,只是现在忽略了 categoryFilter 设置。

这似乎是常见的行为,这些设置都可以单独工作,但不能组合使用。这也是我为查看键找到的。

我现在没有想法,有人可以提供帮助吗?

4

2 回答 2

1

这是一个有点骇人听闻的解决方案,但您可以有额外的计算字段 categorySearch 和额外的内容分隔符,例如您可以添加额外的 % 字符:%Completed% 然后您的搜索查询将如下所示:

sessionScope.searchTerm AND Field categorySearch=%" + sessionScope.categoryname + "%

我讨厌自己提出这种解决方案,但如果这项工作可行,那么也许我会被原谅。

于 2013-06-04T10:07:15.213 回答
0

您必须根据这篇文章进行搜索:http ://www-10.lotus.com/ldd/ddwiki.nsf/dx/Searching_for_Documents#Full-text+Search

在您的情况下,对 Category 部分执行以下操作:

"[Category] = \"" + sessionScope.categoryname + "\""
于 2013-06-03T18:49:35.117 回答