简单易懂的Lucene实现从多域单条件(多条件)查询条件匹配
来源:互联网 发布:mac 更改启动项 编辑:程序博客网 时间:2024/06/07 02:58
简单易懂的Lucene实现从多域查询条件匹配。通过搜索一个内容,从多域查询匹配内容。
两种方法:
1、用类MultiFieldQueryParser
将要查询的字段设置相同,从不同的域都查询,并设置布尔变量为should,表示可能存在,这样如果至少有一个存在,就会返回,如果没有一个符合,则返回为0
String[] query = {"你","你","你"}; String[] fields ={ TITLE, CONTENT, AUTHOR }; BooleanClause.Occur[] flags = {BooleanClause.Occur.SHOULD, BooleanClause.Occur.SHOULD, BooleanClause.Occur.SHOULD}; Query q=MultiFieldQueryParser.parse(Version.LUCENE_46, query, fields,flags, new StandardAnalyzer(Version.LUCENE_46));
2、用booleanQuery动态添加查询对象
BooleanQuery booleanQuery = new BooleanQuery(); QueryParser parser1 = new QueryParser(Version.LUCENE_46,TITLE , new StandardAnalyzer(Version.LUCENE_30)); Query titleQuery = parser1.parse("你"); booleanQuery.add(titleQuery, BooleanClause.Occur.SHOULD); QueryParser parser2 = new QueryParser(Version.LUCENE_46,CONTENT, new StandardAnalyzer(Version.LUCENE_30)); Query contentQuery = parser2.parse("你"); booleanQuery.add(contentQuery, BooleanClause.Occur.SHOULD); QueryParser parser3 = new QueryParser(Version.LUCENE_46,AUTHOR, new StandardAnalyzer(Version.LUCENE_30)); Query authorQuery = parser3.parse("你"); booleanQuery.add(authorQuery, BooleanClause.Occur.SHOULD); LuceneIndex.search(booleanQuery);效果同上面的一样。
可以根据需要和编码习惯自行选择用哪种方式。
当然里面的查询字符串可以是不同的。这样就是多域多条件查询效果。
0 0
- 简单易懂的Lucene实现从多域单条件(多条件)查询条件匹配
- lucene多条件查询
- Lucene之模糊、精确、匹配、范围、多条件查询-yellowcong
- Lucene 单域多条件查询
- lucene.net查询条件
- redis实现简单的条件查询功能
- redis实现简单的条件查询功能
- 简单实现多条件查询 by hyw
- HBase条件查询(多条件查询)
- HBase条件查询(多条件查询)
- HBase条件查询(多条件查询)
- HBase条件查询(多条件查询)
- HBase条件查询(多条件查询)
- HBase条件查询(多条件查询)
- HBase条件查询(多条件查询)
- 一个简单实现多条件查询的例子
- 简单的多条件分页查询
- lucene--一个field多个条件查询
- 二进制转换不支持用于 Mac OS X。要运行 Mac OS X,您需要一台 VMware Workstation 支持 Intel VT-x 或 AMD-V 的主机
- ORA-04031: 无法分配 3936 字节的 共享内存
- React Native通信机制详解
- eclipse 问题记录
- POJ-2192 Zipper
- 简单易懂的Lucene实现从多域单条件(多条件)查询条件匹配
- 屏蔽AFNetworking,如此爽快!
- Window应用程序使用控制台窗口调试
- HDU 5245 Joyful (概率题 求期望)
- Cocos2d-js 实现多触点缩放与旋转
- 移动前端开发之viewport的深入理解
- 配置虚拟服务器
- struts2集成spring3的原理分析
- 不使用split和replace情况下分割复杂字符串