2012-03-29 34 views
0

我尝试创建搜索字符串以添加视图pannel搜索属性。我需要能够搜索2日期(从日期到日期)。工作的语法是日期等于例如(FIELD Form =“form”)AND(FIELD dateCompleted = 01/01/2012)正常。 使用日期选择器将日期输入到2个输入控件中,或手动输入日期。 如果在两个日期之间搜索,则尝试使用 (FIELD Form =“Form”)和(FIELD dateCompleted => 01/01/2012)和(FIELD dateCompleted < = 31/01/2012),我收到错误消息,或搜寻没有找到任何文件。有文档(dateCompleted是日期/时间字段),所以应该返回文档。 任何想法正确的语法应该是什么?FT在视图pannel中搜索

+0

请提供确切的错误。 – 2012-03-31 17:04:12

回答

2

试试这个:

(FIELD Form ="form") AND ((FIELD dateCompleted => 01/01/2012) AND (FIELD dateCompleted <= 31/01/2012)) 
+1

您可以在字段周围使用方括号而不是键入“field” – 2012-03-29 21:16:51

+0

,如[dateCompleted] <= 31/01/2012或dateCompleted <= [31/​​01/2012]? – 2012-03-30 19:39:19

2

日期和数字可能是相当麻烦有时FT - 这是完整的 “TEXT” 反正。 在你的情况下,尝试切换月份和日期 - 01/31/2012 - 根据OS和Domino级别的各种设置,这可能非常敏感。

+0

数据库是否全文索引,并且当我尝试搜索时确保ft索引是最新的 – 2012-03-30 19:38:18

+0

数据库是否全文索引,并且当我尝试搜索时确保ft索引是最新的。我注意到,我输入到输入文本字段并将其保存为日期/时间在文档中的日期可以正常工作,但我通过 – 2012-03-30 19:46:56

0

您的语法看起来很好(尽管=>应该可能> =)。无法在日期之间进行搜索的问题可能是由于数据库的UNK表中的dateCompleted字段的数据类型不正确造成的。 UNK表列出数据库中的所有字段及其数据类型,并由FT搜索使用。如果该字段未被定义为日期字段,则“日期之间” - 全文搜索将不起作用。 AFAIK第一次出现的字段会在UNK表中创建条目:因此,如果这是一个空字段,它会认为它是一个文本字段。

有关UNK表的更多信息可以被读取为here。 IBM还提供了一个tool来查看UNK表。如果在数据库上发出压缩-c,则会重新创建UNK表。

+0

添加了dateCompleted字段标记[too] [1]似乎不工作。通过它显示为日期/时间字段的文档属性。它是由LotusScript使用doc.dateCompeted = Today创建的。重写UNK表,当你说如果该字段为空时,是否意味着如果有10个文档,并且在其中一个文档中dateCompleted字段为空,那么在UNK中它将被视为文本字段而不是日期/时间字段。我认为该字段最初定义为一个文本字段,我在表单上将其更改为日期/时间。 UNK表格信息对我来说是新的,请将我发送到链接,我可以找到更多 – 2012-03-30 20:07:28

+0

我已更新链接。第一次出现的字段决定了UNK表中该字段的数据类型。如果您的字段首先是一个文本字段,则它可能被列为UNK表中的文本字段。 – 2012-04-02 08:22:59