当前位置:  开发笔记 > 编程语言 > 正文

Lucene搜索复杂查询

如何解决《Lucene搜索复杂查询》经验,为你挑选了1个好方法。

这是我想要做的,使用伪代码:

lucene.Find((someField == "bar" || someField == "baz") && anotherField == "foo");

或者用英语,"查找someField为'bar'或'baz'的所有文档,以及anotherField为'foo'的文件".

如何使用Lucene进行这样的查询?



1> erickson..:

在Lucene查询语法中:

+(someField:bar someField:baz) +anotherField:foo

"+"表示该术语是必需的,就像Google搜索语法一样.括号将术语组成单个术语.没有"+"(或" - "),术语是可选的; 至少有一个术语必须匹配,匹配的术语越多,得分越高.

将此字符串传递QueryParser给创建Query对象.然后,可以根据您的需要将查询传递给多种搜索方法之一.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有