Lucene正则表达式查询RegenxQuery

 1 /*
 2  * 正则表达式查询
 3  */
 4 
 5 
 6 import java.io.IOException;
 7 
 8 import org.apache.lucene.analysis.standard.StandardAnalyzer;
 9 import org.apache.lucene.document.Document;
10 import org.apache.lucene.document.Field;
11 import org.apache.lucene.index.IndexWriter;
12 import org.apache.lucene.index.Term;
13 import org.apache.lucene.search.Hits;
14 import org.apache.lucene.search.IndexSearcher;
15 import org.apache.lucene.search.regex.RegexQuery;  //第三方插件RegexQuery其jar为lucene-regex-2.9.4.jar
16 
17  
18 
19 public class RegexQueryTest {
20 
21   private static final String INDEX_STORE_PATH="d:\\testRegexQuery";
22   
23   public static void main(String[] args) throws IOException
24   {
25    //索引
26    indexwriter(INDEX_STORE_PATH);
27    System.out.println("建立索引完毕!");
28    //查询
29    search(INDEX_STORE_PATH);
30    System.out.println("检索完毕!");
31   }
32   
33   //建立索引
34   public static void indexwriter(String path) throws IOException
35   {
36    IndexWriter writer=new IndexWriter( path ,new StandardAnalyzer(),true);
37    writer.setUseCompoundFile(false);
38    //创建三个文档
39    Document doc1=new Document();
40    Document doc2=new Document();
41    Document doc3=new Document();
42    Document doc4=new Document();
43    //构建三个URL地址用于正则匹配
44    Field f1=new Field("url","http://www.abc/com/profuct?type=1& cate=5",Field.Store.YES,
45      Field.Index.UN_TOKENIZED);
46    Field f2=new Field("url","http://def.com/product?type=5",Field.Store.YES,
47      Field.Index.UN_TOKENIZED);
48    Field f3=new Field("url","http://ghi/product?type=x",Field.Store.YES,
49      Field.Index.UN_TOKENIZED);
50    Field f4=new Field("url","http://xxx.abc/con/profuct?type=1& cate=5",Field.Store.YES,
51      Field.Index.UN_TOKENIZED);
52    
53    doc1.add(f1);
54    doc2.add(f2);
55    doc3.add(f3);
56    doc4.add(f4);
57    writer.addDocument(doc1);
58    writer.addDocument(doc2);
59    writer.addDocument(doc3);
60    writer.addDocument(doc4);
61    
62    //close
63    writer.close();
64   }
65   
66   //查询函数
67   public static void search(String path) throws IOException
68   {
69    IndexSearcher searcher=new IndexSearcher(path);
70    //创建正则表达式
71    String regex="].*";
72    //构建Term
73    Term term=new Term("url",regex);
74    
75    RegexQuery query=new RegexQuery(term);
76    
77    Hits hits=searcher.search(query);
78    for(int i=0;i<hits.length();i++)
79     System.out.println(hits.doc(i));
80   }
81 }

 

转载于:https://www.cnblogs.com/sl-shilong/archive/2012/12/22/2829529.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494465.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pyinstaller--将py文件转化成exe

首先要注意一下:打包python文件成exe格式这个过程只能在windows环境下运行 1. 直接在命令行用pip安装 pyinstaller pip install pyinstaller</p> 2. 下载安装pyinstaler运行时所需要的windows拓展—pywin32 pywin32:http://sourceforge.net/projects/pywin32/files/p…

【每日SQL打卡】​​​​​​​​​​​​​​​DAY 9丨平均工资:部门与公司比较【难度困难】

活动介绍&#xff1a; 「数据仓库技术交流群」已经正式启动每日SQL打卡&#xff0c;帮助大家扎实基础&#xff0c;努力工作之余&#xff0c;别忘了自我提升。 欢迎报名和邀请小伙伴参与&#xff0c;一个人可能走得很快&#xff0c;但一群人会走得很远。 &#x1f345;题目汇总(…

深度|全面了解一下这个世界上最奇葩的公司:Google!

来源&#xff1a;轮回的刻度2015年8月11日&#xff0c;Google公司架构调整的资讯与分析刷遍了朋友圈。这些数不胜数的文章&#xff0c;几乎都是这样这样一种基调&#xff1a;Google好像做了一件很重大的事情&#xff0c;但是谁也不清楚它为什么这么做。这个问题也困扰着我&…

【原创】关于移动铁通某些网站打不开的问题

上下文&#xff1a;同学家移动铁通宽带&#xff0c;想要访问 www.xads.gov.cn (西安地税官网&#xff0c;做的我就不评价了) 有时网站能打开&#xff0c;有时却打不开 解决过程&#xff1a;想起自己家用的也是移动铁通&#xff0c;也是某些网站能有时能打开有时打不开。还是采用…

【每日SQL打卡】​​​​​​​​​​​​​​​DAY 9丨有趣的电影【难度简单】

活动介绍&#xff1a; 「数据仓库技术交流群」已经正式启动每日SQL打卡&#xff0c;帮助大家扎实基础&#xff0c;努力工作之余&#xff0c;别忘了自我提升。 欢迎报名和邀请小伙伴参与&#xff0c;一个人可能走得很快&#xff0c;但一群人会走得很远。 &#x1f345;题目汇总(…

一文看懂机器人技术的发展史

来源&#xff1a;传感器技术机器人技术是综合了计算机、控制论、机构学、信息和传感技术、人工智能、仿生学等多学科而形成的高新技术&#xff0c;是当代研究十分活跃&#xff0c;应用日益广泛的领域。机器人应用情况&#xff0c;是一个国家工业自动化水平的重要标志。机器人并…

python实现简单爬虫抓取图片

最近在学习python,正如大家所知&#xff0c;python在网络爬虫方面有着广泛的应用&#xff0c;下面是一个利用python程序抓取网络图片的简单程序&#xff0c;可以批量下载一个网站更新的图片&#xff0c;其中使用了代理IP的技术。 import urllib.request import os import rand…

m3u:直播流的html接近下载

转载于&#xff1a;http://en.wikipedia.org/wiki/M3U M3U is a computer file format that stores multimedia playlists. It is supported by many applications, including media players such as Windows Media Player, iTunes, Winamp, foobar2000, Totem and JuK. Conten…

【每日SQL打卡】​​​​​​​​​​​​​​​DAY 10丨换座位【难度中等】

活动介绍&#xff1a; 「数据仓库技术交流群」已经正式启动每日SQL打卡&#xff0c;帮助大家扎实基础&#xff0c;努力工作之余&#xff0c;别忘了自我提升。 欢迎报名和邀请小伙伴参与&#xff0c;一个人可能走得很快&#xff0c;但一群人会走得很远。 &#x1f345;题目汇总(…

5G之后是什么?

来源&#xff1a;IEEE电气电子工程师学会如果你听过有关5G的承诺它可为自动驾驶汽车和沉浸式虚拟现实保驾护航的宣传&#xff0c;估计你很快就会意识到下一代无线网络将需要承载多少数据。但是&#xff0c;工程师们是不是太专注于提供满足数据饥渴型应用程序需要的低延迟网络&a…

javaweb实现验证码功能

在javaweb的用户注册与登陆功能时&#xff0c;有时为了防止漏洞或者大量注册&#xff0c;可以使用验证码功能&#xff0c;下面是验证码的一个简单实现 验证码类 public class ValiImg extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletRespon…

int _tmain(int argc, _TCHAR* argv[])

argv接收从命令行传来的参数&#xff0c;在程序里可以通过argv[i]来使用。比方你要执行的.exe文件名为test,你在命令行中输入test 2 hello world! 那么在程序里argv[0]就是hello,argv[1]就是world!上面输入的2告诉程序一共有几个命令行参数&#xff0c;用argc表示&#xff0c;就…

【每日SQL打卡】​​​​​​​​​​​​​​​DAY 10丨买下所有产品的客户【难度中等】

活动介绍&#xff1a; 「数据仓库技术交流群」已经正式启动每日SQL打卡&#xff0c;帮助大家扎实基础&#xff0c;努力工作之余&#xff0c;别忘了自我提升。 欢迎报名和邀请小伙伴参与&#xff0c;一个人可能走得很快&#xff0c;但一群人会走得很远。 &#x1f345;题目汇总(…

数据洪流时代的芯片之变

芯片无所不在&#xff0c;没有芯片&#xff0c;就没有现代生活。 图片来源&#xff1a;百度图片来源&#xff1a;科学网摘要&#xff1a;自中兴事件发生以来&#xff0c;对于我国半导体及芯片产业一直存在两种截然相反的认识。自中兴事件发生以来&#xff0c;对于我国半导体及芯…

javamail实现邮箱验证功能

javamail是基于SMTP协议和POP3协议的邮件发送与接收系统&#xff0c;在用户注册与登陆的过程中&#xff0c;常需要用到邮箱验证功能&#xff0c;下面是基于javamail的一个简单实现 用户注册后通过servlet得到邮箱地址&#xff0c;并使用方法发送邮件 //校验用户名if(dao.find…

[zz]libev 简介

1 libev libev所实现的功能就是一个强大的reactor,可能notify事件主要包括下面这些&#xff1a; ev_io // IO可读可写ev_stat // 文件属性变化ev_async // 激活线程ev_signal // 信号处理ev_timer // 定时器ev_periodic // 周期任务ev_child // 子进程状态变化ev_fork // 开辟进…

我没有超能力,我只是用了这10个网站。

&#x1f345; 作者主页&#xff1a;不吃西红柿 &#x1f345; 简介&#xff1a;CSDN博客专家 & 总榜前十&#x1f3c6;、HDZ核心组成员。欢迎点赞、收藏、评论 &#x1f345; 粉丝专属福利&#xff1a;知识体系、面试题库、技术互助、简历模板。文末公众号领取 1、今日热…

干货 | 加速AI发展!一文了解GPU Computing

来源&#xff1a; 启迪之星上海摘要&#xff1a;英伟达的显卡对于游戏达人来说再为熟悉不过&#xff0c;并逐渐融入到我们的日常生活当中。英伟达的显卡对于游戏达人来说再为熟悉不过&#xff0c;并逐渐融入到我们的日常生活当中。近日&#xff0c;世界上第一款“光线追踪”GPU…

图解二叉树的Morris(莫里斯)遍历

二叉树的Morris(莫里斯)遍历 本文参考链接&#xff1a;https://leetcode.cn/problems/binary-tree-preorder-traversal/submissions/490846864/ 文章目录 二叉树的Morris(莫里斯)遍历模板代码前序遍历中序遍历后序遍历 Morris 遍历使用二叉树节点中大量指向 null 的指针&…

javaweb数据库操作

本文主要内容有C3P0数据库连接池&#xff0c;dbutils的使用&#xff0c;元数据的应用 在对数据库进行增删改查时&#xff0c;使用数据库连接池可以有效的提高效率&#xff0c;节省资源&#xff0c;C3P0是Apache组织提供的一个有效方式 C3P0的XML配置文件&#xff0c;文件名必…