Lotus domino LotusDominoFTSearch查询

Lotus domino LotusDominoFTSearch查询,lotus-domino,Lotus Domino,我对FTSearch方法中的查询有问题。我使用的查询类似于“FIELD fldContractorCode=\“K005152\”,这很好,但现在我需要再添加一个查询选项。我试着用: "form= "formcontractor" & FIELD fldContractorCode = "K005152"" "Form = "formcontractor" & FIELD fldContractorCode = "K005152"" "FORM = "formcontractor

我对
FTSearch
方法中的查询有问题。我使用的查询类似于
“FIELD fldContractorCode=\“K005152\”
,这很好,但现在我需要再添加一个查询选项。我试着用:

"form= "formcontractor" & FIELD fldContractorCode = "K005152""
"Form = "formcontractor" & FIELD fldContractorCode = "K005152""
"FORM = "formcontractor" & FIELD fldContractorCode = "K005152""
"form= "formcontractor" AND FIELD fldContractorCode = "K005152""
"Form = "formcontractor" AND FIELD fldContractorCode = "K005152""
"FORM = "formcontractor" AND FIELD fldContractorCode = "K005152""
但我总是犯这样一个错误,即查询是不可理解的


如何进行此查询?

如果您真的使用FTSearch,则公式必须如下所示:

FIELD form ="formcontractor" & FIELD fldContractorCode = "K00515"
你需要在每一条语句前面加上“FIELD”语句。。。 较短的形式是:

[form] = "formcontractor" & [fldContractorCode] = "K00515"
你甚至可以在FTSearch中使用“-”符号

但我真的不建议使用FTSearch,因为它总是一个“包含”搜索(查询也会找到K00515xxx)

最好使用NotesDatabase-Class的.search-Method并像这样编写:

db.Search( {Form ="formcontractor" & fldContractorCode = "K00515"}, Nothing, 0 )

然后确保只返回完全包含搜索数据的文档。在速度方面,它应该只是稍微慢一点。

如果你真的使用FTSearch,那么公式应该是这样的:

FIELD form ="formcontractor" & FIELD fldContractorCode = "K00515"
你需要在每一条语句前面加上“FIELD”语句。。。 较短的形式是:

[form] = "formcontractor" & [fldContractorCode] = "K00515"
你甚至可以在FTSearch中使用“-”符号

但我真的不建议使用FTSearch,因为它总是一个“包含”搜索(查询也会找到K00515xxx)

最好使用NotesDatabase-Class的.search-Method并像这样编写:

db.Search( {Form ="formcontractor" & fldContractorCode = "K00515"}, Nothing, 0 )

然后确保只返回完全包含搜索数据的文档。至于速度,它应该只稍微慢一点。

db.Search要慢得多。我将不惜一切代价避免这种情况。另一个解决方案是使用视图查找,使用col.GetDocumentByKey(ket$,True)。当然,您是对的,db.Search速度较慢,但只要在后台代理中使用,我们通常会谈论几秒钟(或者几分钟,如果数据库真的很大(100.000文档及更多))。当然,您不想因为等待结果而打扰用户,当然GetDocumentByKey会快得多,但在某些情况下,您只是不想(或不允许)在目标数据库中创建匹配视图…db.Search要慢得多。我将不惜一切代价避免这种情况。另一个解决方案是使用视图查找,使用col.GetDocumentByKey(ket$,True)。当然,您是对的,db.Search速度较慢,但只要在后台代理中使用,我们通常会谈论几秒钟(或者几分钟,如果数据库真的很大(100.000文档及更多))。当然,您不想因为等待结果而打扰用户,当然GetDocumentByKey会快得多,但在某些情况下,您只是不想(或不允许)在目标数据库中创建匹配的视图。。。