关于Notes全文检索

来源:互联网 发布:java解压加密zip文件 编辑:程序博客网 时间:2024/04/29 10:23

NotesDatabase、NotesView、NotesViewEntryCollection等都有FtSearch()方法。

FtSearch除了支持一般关键字检索之外,还支持基于运算符的查询,形如:

FIELD XXX CONTAINS YYY。

对于逻辑操作符CONTAINS要注意:

1) 当YYY是单字节英文时,若要进行模糊匹配,可以使用星号*来完成,形如:

FIELD fldname CONTAINS *bj*

2) 当YYY时双字节中文时,则形如“*北京*”这种形式将什么都检索不到,只能是下面的格式才可以:

FIELD fldname CONTAINS 北京

另外,基于数字、时间等格式的检索经常报错:

FIELD fldcreatedtime > 2005-03-30

Notes error: Relational operators are not supported in text fields.

这可能有两种原有:

1) 域fldcreatedtime最初创建的时候可能指定成缺省的文本域类型并保存了。而以后将它修改成什么类型都改变不了该域的全文检索类型,解决的办法可能只能从数据库底层将该域彻底删除。

2) 域fldcreatedtime最初创建的时候是正确的类型(日期/时间),而在程序中误将文本值赋给它了。只要将原有的文档都删除掉,并在新程序中赋给该域正确的变量类型就可以了。

原创粉丝点击