Lotus domino FTSearch 查询
Posted
技术标签:
【中文标题】Lotus domino FTSearch 查询【英文标题】:Lotus domino FTSearch query 【发布时间】:2013-04-18 00:47:10 【问题描述】: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""
但我总是收到查询无法理解的错误。
如何使这个查询工作?
【问题讨论】:
【参考方案1】:如果你真的使用 FTSearch,那么公式应该是这样的:
FIELD form ="formcontractor" & FIELD fldContractorCode = "K00515"
您需要在每条语句前面加上“FIELD”- 语句... 更短的形式是:
[form] = "formcontractor" & [fldContractorCode] = "K00515"
您甚至可以在 FTSearch 中省略 ""- 符号。
但我真的不建议使用 FTSearch,因为它始终是“包含”- 搜索(查询也会找到 K00515xxx)。
最好使用 NotesDatabase- 类的 .search- 方法,写成这样:
db.Search( Form ="formcontractor" & fldContractorCode = "K00515", Nothing, 0 )
那么您肯定只返回包含您搜索的数据的文档。而且在速度问题上,它应该只是稍微慢一点。
【讨论】:
db.Search 慢得多。我会不惜一切代价避免这种情况。另一种解决方案是使用视图查找,使用 col.GetDocumentByKey(ket$, True) 你当然是对的,那个 db.Search 比较慢,但是只要是在后台代理中使用,我们通常讲秒(或者小数分钟,如果数据库是 REALLY大(100.000 个文档及更多))。当然,您不想打扰用户等待该结果,当然 GetDocumentByKey 会更快,但在某些情况下,您根本不想(或不允许)在目标数据库...以上是关于Lotus domino FTSearch 查询的主要内容,如果未能解决你的问题,请参考以下文章