接http://www.cnblogs.com/twelfthing/articles/1905365.html

9. range查询,(http://xapian.org/docs/valueranges.html)

StringValueRangeProcessor:

from xapian import *
flags
= QueryParser.FLAG_DEFAULT |QueryParser.FLAG_PURE_NOT
parser
= QueryParser()
proc
= StringValueRangeProcessor(1)
parser.add_valuerangeprocessor(proc)
parser.set_database(db)
query_list.append(parser.parse_query(
'%s..%s'%('0001','0010'),flags))
另外还有numberrange,daterange等等,daterange的用法和stringrange差不多,numberrange有点小区别,就是在设置value值的时候,需要对数字处理一下,如下

from xapian import sortable_serialise
document.add_value(
1,sortable_serialise(value)))

 

10. add term

document.add_term对term长度有限制,最长不能大于245个字符。需要处理的对象长度大于245,只有把字符截断。我在项目种没有这样处理,一般把需要的索引的字符加密成md5值,然后添加。