Xpages 多值日期字段搜索不起作用

Xpages 多值日期字段搜索不起作用,xpages,xpages-ssjs,Xpages,Xpages Ssjs,我有一个名为freeDaysPool的多值字段,它有多个日期作为字符串。使用以下代码,搜索不会返回任何内容。如果我不使用该字段,则搜索与其他两个字段的效果很好。我读到应该在多值字段中使用CONTAINS,但后来我得到了一个不可理解的查询 我尝试了后端字段作为日期字段和文本字段,并测试了各种查询组合和日期格式,但没有成功。非常感谢您的帮助 这是搜索按钮代码: var query = new Array(""); var cTerms = 0; // Field 1 var search01 =

我有一个名为freeDaysPool的多值字段,它有多个日期作为字符串。使用以下代码,搜索不会返回任何内容。如果我不使用该字段,则搜索与其他两个字段的效果很好。我读到应该在多值字段中使用CONTAINS,但后来我得到了一个不可理解的查询

我尝试了后端字段作为日期字段和文本字段,并测试了各种查询组合和日期格式,但没有成功。非常感谢您的帮助

这是搜索按钮代码:

var query = new Array("");
var cTerms = 0;

// Field 1
var search01 = getComponent("searchcustomReservationField01").getValue();
if (@Contains(@Text(search01),"any city")){"";}
else {query[cTerms++] = '[customReservationField01]="' + search01 +'"'};  

// Field 2
var search02 = getComponent("searchcustomReservationField02").getValue();
if (@Contains(@Text(search02),"any city")){"";}
else {query[cTerms++] = '[customReservationField02]="' + search02 + '"'};

// Date 1
var formatter = new java.text.SimpleDateFormat("d.M.yyyy");
query[cTerms++] = 'FIELD freeDaysPool = ' + formatter.format(getComponent("searchcustomDateField01").getValue());

// if query is still empty, we fill it with asterisk
if(query == "" || query == null){
    query[cTerms++] = "*";
}
// make all as string
qstring = query.join(" AND ").trim();
sessionScope.searchString = qstring;
它将返回查询,如下所示:

[customReservationField01]="Oslo" AND [customReservationField02]="Oslo" AND FIELD freeDaysPool = 6.2.2015

AFAIK公式中的日期值和查询是一个公式,必须注意如下

[06.02.2015]

比较一下。只需尝试在Notes客户端中使用您的公式进行全文搜索。如果您得到的结果没有错误,您就找到了正确的格式。这至少是我测试查询的方式,因为我已经多年不能提醒语法了:-D

谢谢你的帮助!Domino似乎将字段类型保留为日期字段,即使您将其更改回文本字段,这在notes FTsearch中已经注意到。我创建了全新的文本字段,并以dd.MM.yyyy格式将日期添加为字符串。我还将它们作为字符串搜索,效果很好。 更改后的代码位现在如下所示:

// Date 1
var formatter = new java.text.SimpleDateFormat("dd.MM.yyyy");
query[cTerms++] = '[freeDays] CONTAINS "' + formatter.format(getComponent("searchcustomDateField01").getValue())+'"';

只是出于好奇:是六月还是二月-谢谢奥利弗,检查笔记全文搜索真是个好主意@FrantisekKossuth,至少在芬兰,也就是二月: