| |
1,一个短句可以用双音号括起来,这样只有文中含有该句的时间才会被搜索出来.比如: "hip hop" 将会只出现包含hip hop(不区分大小写)的短句 2,一个字段名后面跟冒号,再加上要搜索的词语或短句,就可以直接搜索该字段.比如: 要搜索在 1981年10月20日出生的会员可以这样: age:19811020 如果是短句,则是: age:"1981 10 20" 后面还可以跟关键字: age:19811020 美女 3,可以用?或*实现模糊搜索,搜索 te*t 的结果会出 tet,test,text.也会出现teast,而搜索 te?t,只会有tet,test,text.其中的?表示0或1个字符,*表示0或多个字符. 4,用roam~可以实现拼写模糊搜索,比如foam和roams都将会被匹配出来.在1.9版本以后,还会有一个参数,可以指定要匹配的相似度. 5,"~"还可以用于指定关键字之间的距离,比如 "jakarta apache"~10 只匹配文中含jakarta和apache两个关键字,且两者中间有10以下的词语的文档. 6,":"还可以用来提定一个范围,比如: age:[20051010 TO 20051229] 就只匹配在2005年10月10日和2005年12月29日之间出生的会员. 对于非数字组合的字符串可以 title:{Aida TO Carmen} 搜索在Aida和Carmen之间的词语,但是不包含Aida和Carmen这两个词. 7,可以用"^"实现着重号的功能,比如你想在搜索 "jakarta apache"时让jakarta更相关的排在前面,就可以用: jakarta^4 apache 对于一个短句也是如此: "jakarta apache"^4 "Apache Lucene" 8,"OR"操作符用来表示或,为了搜索含有 "jakarta apache" 或只有 "jakarta"的文档,可以这样: "jakarta apache" OR jakarta 9,"AND"操作符用来表示与,为了搜索同时含有 "jakarta apache" 和 "Apache Lucene"的文档,可以用这样的搜索语句: "jakarta apache" AND "Apache Lucene" 10,为了让某个关键字必须出现,其它关键字则可以忽略,可以用"+": +jakarta apache 这样搜索出的文档一定会出现jakarta,而不一定有apache. 11,"NOT"可以用来排除某个关键字,比如你想搜索含有"jakarta apache",但是没有 "Apache Lucene" 的文档,就可以用: "jakarta apache" NOT "Apache Lucene" 但是NOT不能出于在一个单一的条件里面,比如 NOT "Apache Lucene" 并不会如我们想象的那样搜索出不含有"Apache Lucene"的文档. 12,"-"号等同于NOT,只是要紧挨着关键字或短语: "jakarta apache" -"Apache Lucene"
|
|