xpages从一段时间间隔内搜索ftsearch文档

xpages从一段时间间隔内搜索ftsearch文档,xpages,xpages-ssjs,Xpages,Xpages Ssjs,我使用IBM的教程为ftsearch制作了一个xpage元素 我的请求:是否有可能使用两个日期字段(作为搜索的输入要求)来查找创建日期在这两个日期间隔内的文档 我应该创建一个计算字段dtCreated,在其中存储创建日期,然后在视图的search属性中添加如下内容: var tmpArray = new Array(""); var cTerms = 0; if (sessionScope.searchDate1) && (sessio

我使用IBM的教程为ftsearch制作了一个xpage元素

我的请求:是否有可能使用两个日期字段(作为搜索的输入要求)来查找创建日期在这两个日期间隔内的文档

我应该创建一个计算字段
dtCreated
,在其中存储创建日期,然后在视图的
search
属性中添加如下内容:

      var tmpArray = new Array("");
        var cTerms = 0;
        if (sessionScope.searchDate1) && (sessionScope.searchDate2) {
        tmpArray[cTerms++] = "(Field dtCreated > \"" + sessionScope.searhcDate1 + "\")" && "(Field dtCreated < \"" + sessionScope.searhcDate2 + "\")";
        }
    ....
    ....
var tmpArray=新数组(“”);
var-cTerms=0;
if(sessionScope.searchDate1)和&(sessionScope.searchDate2){
tmpArray[cTerms++]=“(字段dtCreated>\”“+sessionScope.searhcDate1+”\”&“(字段dtCreated<\”“+sessionScope.searhcDate2+”\”);
}
....
....
还是有其他选择

我的两个会话变量的日期格式为
Short(5/5/14)
。另外,这两个日期(会话变量)的默认值是
,但我当然会在单击
提交
按钮之前添加一些值


谢谢你的时间

如果您想进行FTSearch,可以使用CreationDate

文档(滚动至搜索标题信息):

例如(可能有打字错误):


tmpArray[cTerms++]=“(Field\u creationDate>“+sessionScope.searhcDate1+”)和(Field\u creationDate”+sessionScope.searhcDate1+”]和[\u creationDate如果要进行FTSearch,可以使用\u creationDate

文档(滚动至搜索标题信息):

例如(可能有打字错误):


tmpArray[cTerms++]=“(Field _creationDate>“+sessionScope.searhcDate1+”)和(Field _creationDate”+sessionScope.searhcDate1+”]和[_creationDate以Tommy的答案为基础:

具体来说,请尝试使用“yyyy/m/d”作为格式。如果sessionScope中的值是java.util.Date(日期字段使用的类型),您可以尝试以下操作(在我的头顶上键入,而不是在应用程序中键入,因此我对键入错误表示歉意):

var tmpArray=[];
var-cTerms=0;
if(sessionScope.searchDate1和&sessionScope.searchDate2){
var formatter=new java.text.simpleDataFormat(“yyy/M/d”);

tmpArray[cTerms++]=“[\u CreationDate]>=”+formatter.format(sessionScope.searchDate1)+”和[\u CreaationDate]以Tommy的答案为基础:

具体来说,请尝试使用“yyyy/m/d”作为格式。如果sessionScope中的值是java.util.Date(日期字段使用的类型),您可以尝试以下操作(在我的头顶上键入,而不是在应用程序中键入,因此我对键入错误表示歉意):

var tmpArray=[];
var-cTerms=0;
if(sessionScope.searchDate1和&sessionScope.searchDate2){
var formatter=new java.text.simpleDataFormat(“yyy/M/d”);

tmpArray[charterms++]=“[\u CreationDate]>=”+formatter.format(sessionScope.searchDate1)+”和[\u CreaationDate]您可以使用特殊字段
\u CreationDate
作为创建日期(请参阅Tommy的答案)。基于此,以下示例查询将在Notes客户端中工作:

Field _creationDate > 01-01-2014 AND Field _creationDate < 01-03-2014
Field\u creationDate>01-01-2014和Field\u creationDate<01-03-2014
要使此查询与您的特定代码配合使用,请执行以下操作:

var tmpArray = new Array("");
var cTerms = 0;
var dateFormatter = new java.text.SimpleDateFormat( "dd-MM-yyyy" ); 
if (sessionScope.searchDate1) && (sessionScope.searchDate2) {
    tmpArray[cTerms++] = "Field _creationDate > " + dateFormatter.format(sessionScope.searchDate1) + " AND Field _creationDate < " + dateFormatter.format(sessionScope.searchDate2);
}
var tmpArray=新数组(“”);
var-cTerms=0;
var dateFormatter=new java.text.simpleDataFormat(“dd-MM-yyyy”);
if(sessionScope.searchDate1)和&(sessionScope.searchDate2){
tmpArray[charterms++]=“Field\u creationDate>”+dateFormatter.format(sessionScope.searchDate1)+“Field\u creationDate<”+dateFormatter.format(sessionScope.searchDate2);
}

您可以使用特殊字段
\u creationDate
作为创建日期(请参阅Tommy的答案)。基于此,以下示例查询将在Notes客户端中工作:

Field _creationDate > 01-01-2014 AND Field _creationDate < 01-03-2014
Field\u creationDate>01-01-2014和Field\u creationDate<01-03-2014
要使此查询与您的特定代码配合使用,请执行以下操作:

var tmpArray = new Array("");
var cTerms = 0;
var dateFormatter = new java.text.SimpleDateFormat( "dd-MM-yyyy" ); 
if (sessionScope.searchDate1) && (sessionScope.searchDate2) {
    tmpArray[cTerms++] = "Field _creationDate > " + dateFormatter.format(sessionScope.searchDate1) + " AND Field _creationDate < " + dateFormatter.format(sessionScope.searchDate2);
}
var tmpArray=新数组(“”);
var-cTerms=0;
var dateFormatter=new java.text.simpleDataFormat(“dd-MM-yyyy”);
if(sessionScope.searchDate1)和&(sessionScope.searchDate2){
tmpArray[charterms++]=“Field\u creationDate>”+dateFormatter.format(sessionScope.searchDate1)+“Field\u creationDate<”+dateFormatter.format(sessionScope.searchDate2);
}

谢谢你的建议。不幸的是,我收到了一个错误/异常:异常注释错误:查询不可理解请尝试将查询打印在日志中,或者打印在您可以阅读的地方。要使查询正常工作,sessionScope.searchDate1和sessionScope.searchDate2都必须有一个值,并且必须采用Domino可以理解的格式。谢谢您的建议。不幸的是,我收到了一个错误/异常:异常注释错误:查询不可理解请尝试在日志中打印查询,或者在您可以阅读的地方打印查询。要使查询正常工作,sessionScope.searchDate1和sessionScope.searchDate2都必须有一个值,并且必须采用Domino可以理解的格式。谢谢您的提示。我编辑了我的问题,指定会话变量类型。仍然不适用于我的提示。我编辑了我的问题,指定了会话变量类型。仍然不适用于meNow我没有收到任何错误,但我的搜索结果是错误的,基本上所有文档都显示在视图面板中,甚至我的两个会话变量都用一些值。此外,我尝试了java.text.simpleDataFormat(“MM dd yyyy”);但仍然存在相同的问题。我将if语法修改为(…&&…)尝试在Notes客户端中搜索以验证日期格式(字段_creationDate>01-01-2014和字段_creationDate<01-03-2014)它可以工作。我在浏览器中重新打开了我的应用程序,并将格式修改为(“MM dd yyyy”)。感谢您的帮助和时间!现在我没有收到任何错误,但我的搜索结果是错误的,基本上所有文档都显示在视图面板中,甚至我的2个会话变量都定义了一些值。此外,我尝试了java.text.SimpleDataFormat(“M”)