我在之前的应用程序中创建了一个简单的FTsearch模块,在viewPanel1
内显示结果。
但是,现在在其他应用程序中它让我头疼。视图中的search
代码:
var tmpArray = new Array("");
var cTerms = 0;
if (sessionScope.searchFurnizor) {
tmpArray[cTerms++] = "(Field txt_particontractcv_1 = \"*" + sessionScope.searchFurnizor + "*\")";
}
if (sessionScope.searchStare) {
tmpArray[cTerms++] = "(Field txt_stadiucontrcv = \"*" + sessionScope.searchStare + "*\")";
}
qstring = tmpArray.join(" AND ").trim();
sessionScope.queryString = qstring;
return qstring
txt_particontractcv_1
是一个简单的inputText,txt_stadiucontrcv
是一个复选框:
<xp:checkBoxGroup id="checkBoxGroup1" value="#{Contr.txt_stadiucontrcv}" defaultValue="In derulare">
<xp:selectItem itemLabel="In derulare" itemValue="In derulare"
id="selectItem1">
</xp:selectItem>
<xp:selectItem itemLabel="Finalizat" itemValue="Finalizat"
id="selectItem2">
</xp:selectItem>
</xp:checkBoxGroup>
提交搜索的按钮正在部分刷新viewPanel1
。尽管如此,即使有关于搜索中的过滤条件的文档也会返回0结果。
LATER EDIT:从FTsearch模块中删除逐个字段后,我认为我发现了问题:问题出在文档内容中的组合框(我的情况)字段中在FTsearch模块中。来自FTsearch的组合框的代码:
<xp:checkBoxGroup id="checkBoxGroup1" value="#{sessionScope.searchStare}">
<xp:selectItem itemLabel="In derulare" itemValue="In derulare" id="selectItem1">
</xp:selectItem>
<xp:selectItem itemLabel="Finalizat" itemValue="Finalizat" id="selectItem2">
</xp:selectItem>
</xp:checkBoxGroup>
另外,我注意到inputField(s)必须是inputText,我尝试使用一些comoboboxes作为输入字段,但不能正常工作。
答案 0 :(得分:0)
您是否刷新了部分刷新视图或视图外部的面板? 因为如果您刷新视图,则可能永远不会更新搜索查询。如果是这样的话,在视图中添加一个xp:panel或xp:div out并对其进行局部刷新。
答案 1 :(得分:0)
每当全文搜索无法满足您的预期时,我的建议始终是打印出搜索字符串。然后尝试在Notes客户端的视图中执行搜索。
如果它在客户端的视图中不起作用,尝试在XPage中解决它将无法使其正常工作。 Notes客户端会告诉您为什么,通常&#34;查询不可理解&#34;并且您可以解决为什么使用Notes中搜索栏中的按钮,它会告诉您哪些字段可用以及UNK表认为它们是什么数据类型。
如果确实有效,那么XPage中就会出现问题。
与往常一样,将其分解以尝试确定问题所在 - 在这种情况下是全文搜索功能或在XPage中实现它。