- 浏览: 1478658 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
http://www.blogjava.net/freeman1984/archive/2010/01/27/310996.html
结合lucene
客户端
需要的jar包
common-util-1.0.0.jar
commons-beanutils-1.6.jar
commons-codec-1.6.jar
commons-collections.jar
commons-dbcp-1.2.2.jar
commons-discovery.jar
commons-fileupload-1.2.2.jar
commons-httpclient-3.0.1.jar
commons-id-gump-15042008.jar
commons-io-1.3.1.jar
commons-lang-2.4.jar
commons-logging-1.1.1.jar
commons-pool-1.3.jar
lucene-core-3.6.1.jar
mysql-connector-java-5.0.7-bin.jar
spring-aop.jar
spring-beans.jar
spring-context.jar
spring-core.jar
spring-web.jar
spring-webmvc.jar
aopalliance.jar
服务端 启动可以用main方法或起个servlet在resin启动的时候
web.xml
windows下测试
netstat -an |findstr 9021
看90端口是否启动
结合lucene
import java.util.List; public interface ServerRmiI { public String sayHi(String name); public String test(String queryStr,String willSearch,int pageSize,int pageNo ); public List<MusicResourceV2Domain> getLuceneData(String queryStr,String willSearch,int pageSize,int pageNo ); }
import java.io.File; import java.util.ArrayList; import java.util.List; import net.sf.json.JSONObject; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.index.IndexReader; import org.apache.lucene.queryParser.ParseException; import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; import org.apache.lucene.search.ScoreDoc; import org.apache.lucene.search.TopDocs; import org.apache.lucene.store.FSDirectory; import org.apache.lucene.util.Version; public class ServerRmiImpl implements ServerRmiI { public String sayHi(String name) { return "Hi," + name; } public static void main(String[] args) { ServerRmiImpl aa=new ServerRmiImpl(); String abc=aa.test("张","singer_name",1,10); System.out.println(abc); } public List<MusicResourceV2Domain> getLuceneData(String queryStr,String willSearch,int pageSize,int pageNo ){//F:\c\WX_QM_Music_Resource_V2_0918 String indexDir ="/usr/local/resin_3/lucene/";//"F:/c/WX_QM_Music_Resource_V2_0918"; String q = queryStr; List<MusicResourceV2Domain> lm=new ArrayList<MusicResourceV2Domain>(); try { IndexReader dir = IndexReader.open(FSDirectory.open(new File(indexDir))); IndexSearcher searcher = new IndexSearcher(dir); // 3 Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_31); QueryParser parser = new QueryParser(Version.LUCENE_31, willSearch, analyzer); Query query = parser.parse(q); // 4 long start = System.currentTimeMillis(); TopDocs results = searcher.search(query, 500); // 5,设置500条记录 ScoreDoc[] hits = results.scoreDocs; long end = System.currentTimeMillis(); MusicResourceV2Domain mvd=null; for (ScoreDoc scoreDoc : hits) { mvd=new MusicResourceV2Domain(); Document doc = searcher.doc(scoreDoc.doc); // 7 mvd.setId(doc.get("id")); mvd.setMusicName(doc.get("music_name")); mvd.setSingerId(doc.get("singer_id")); mvd.setSingerName(doc.get("singer_name")); mvd.setAlbumId(doc.get("album_id")); mvd.setMd5Text(doc.get("md5_text")); mvd.setMd5Value(doc.get("md5_value")); mvd.setVersion(doc.get("version")); mvd.setVersionDesc(doc.get("version_desc")); mvd.setMusicNameExt(doc.get("music_name_ext")); mvd.setSingerNameExt(doc.get("singer_name_ext")); mvd.setMusicId(doc.get("music_id")); mvd.setMvId(doc.get("mv_id")); mvd.setAspireRingId(doc.get("aspire_ring_id")); mvd.setAspireSongId(doc.get("aspire_song_id")); mvd.setAspireVideoId(doc.get("aspire_video_id")); mvd.setMusicCmsId(doc.get("music_cms_id")); mvd.setVideoCmsId(doc.get("video_cms_id")); mvd.setManualMusicId(doc.get("manual_music_id")); mvd.setManualMvId(doc.get("manual_mv_id")); mvd.setTs_10301(doc.get("ts_10301")); mvd.setTs_10302(doc.get("ts_10302")); mvd.setTs_time_sec(doc.get("ts_time_sec")); mvd.setSize_10301(doc.get("size_10301")); mvd.setSize_10302(doc.get("size_10302")); mvd.setSize_10303(doc.get("size_10303")); lm.add(mvd); } int totalRecord=hits.length; searcher.close(); return lm; } catch (ParseException e) { System.out.println("☆☆★★-----ParseException-luceneSearch:"+e.getMessage()); e.printStackTrace(); }catch (Exception e) { System.out.println("☆☆★★-----Exception-luceneSearch:"+e.getMessage()); e.printStackTrace(); } return null; } }
<?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd" default-autowire="byName" default-lazy-init="true"> <bean name="clentrmi" class="org.springframework.remoting.rmi.RmiProxyFactoryBean"> <property name="serviceUrl" value="rmi://localhost:9021/serverRmiTest" /> <property name="serviceInterface" value="com.haha.music.mvp2.kmusic.rmi.ServerRmiI" /> </bean> </beans>
<?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd" default-autowire="byName" default-lazy-init="true"> <bean name="rmiserver" class="com.haha.music.mvp2.kmusic.rmi.ServerRmiImpl" /> <bean name="serverTest" class="org.springframework.remoting.rmi.RmiServiceExporter"> <property name="service" ref="rmiserver" /> <property name="serviceName" value="serverRmiTest" /> <property name="serviceInterface" value="com.haha.music.mvp2.kmusic.rmi.ServerRmiI" /> <property name="registryPort" value="9021" /> </bean> </beans>
客户端
ApplicationContext context = new ClassPathXmlApplicationContext( "classpath:lucene-client.xml"); ServerRmiI rmiI = (ServerRmiI) context.getBean("clentrmi"); System.out.println("-----rmiI.sayHi---"+rmiI.sayHi("rmi")); System.out.println("----client--------------------------------------"); List<MusicResourceV2Domain> lm=rmiI.getLuceneData("张","singer_name",1,10);
需要的jar包
common-util-1.0.0.jar
commons-beanutils-1.6.jar
commons-codec-1.6.jar
commons-collections.jar
commons-dbcp-1.2.2.jar
commons-discovery.jar
commons-fileupload-1.2.2.jar
commons-httpclient-3.0.1.jar
commons-id-gump-15042008.jar
commons-io-1.3.1.jar
commons-lang-2.4.jar
commons-logging-1.1.1.jar
commons-pool-1.3.jar
lucene-core-3.6.1.jar
mysql-connector-java-5.0.7-bin.jar
spring-aop.jar
spring-beans.jar
spring-context.jar
spring-core.jar
spring-web.jar
spring-webmvc.jar
aopalliance.jar
服务端 启动可以用main方法或起个servlet在resin启动的时候
public class LuceneStart implements ServletContextListener{ @Override public void contextDestroyed(ServletContextEvent arg0) { } @Override public void contextInitialized(ServletContextEvent arg0) { System.out.println("LuceneStart---------->>>>>>>>>>"); ApplicationContext context = new ClassPathXmlApplicationContext("classpath:lucene-server.xml"); context.getBean("serverTest");//启动lucene远程端口 } public static void main(String[] args) { System.out.println("LuceneStart---------->>>>>>>>>>"); ApplicationContext context = new ClassPathXmlApplicationContext("classpath:lucene-server.xml"); context.getBean("serverTest");//启动lucene远程端口 } }
web.xml
<listener> <listener-class>lucene.servlet.LuceneStart</listener-class> </listener>
windows下测试
netstat -an |findstr 9021
看90端口是否启动
发表评论
-
tomcat的https的例子
2016-09-22 17:50 459参考http://jingyan.baidu.com/arti ... -
jpa
2014-11-25 20:14 576可以使用jpa生成数据库表 import javax.pe ... -
hadoop复习 1搭建
2014-07-23 17:38 781参考http://hadoop.apache.org/docs ... -
jspwebshell
2014-06-20 12:35 6728<%@ page contentType=" ... -
jvm总结
2013-03-04 19:02 1739分代 年轻代: 所有新生 ... -
java的upload
2013-01-24 19:31 1963好久没写java的东西了 遇到个服务器,不是标准的httpSe ... -
jna的使用
2012-04-22 21:06 2912遇到java调用共享内存的 ... -
hessian
2012-04-10 10:40 923http://hessian.caucho.com/ 这个好 ... -
jvm调优应该知道的一点东西
2012-02-27 18:13 1262概念 概念 Java 工具 jsta ... -
java socket备份
2012-02-22 10:01 1061package org.hao; import java ... -
java操作内存
2011-12-29 00:57 5183How To Write Directly to a Memo ... -
单例模式7中
2011-12-28 09:56 920package com.sohu.zookeeper; // ... -
jprofiler6远程resin
2011-07-07 23:17 2699网上找的破解码:L-Larry_Lau@163.com#784 ... -
eclipse不装插件配置resin,可以debug
2011-06-27 23:41 1832新建java工程 1.目录如下 G:. ├─.settings ... -
session所有信息
2011-06-07 11:32 787转载http://www.99inf.net/Software ... -
看端口号用netstat -abn
2011-05-14 00:27 1308张孝祥讲过个fport,到哪都依赖他看端口被什么占用, 原来n ... -
hessian的helloworld
2011-05-12 11:02 1195参考http://hessian.caucho.com/#Ex ... -
resin日志
2011-05-03 14:40 1464resin-pro-3.1.9\conf\resin.conf ... -
maven-resin
2011-05-02 22:39 2341关于resin http://2hei.net/mt/2008 ... -
maven笔记
2011-05-02 14:31 1648国内的源 <repository ...
相关推荐
通过这个实例,你可以学习如何配置Struts2的Action,使用Spring管理依赖,以及集成Lucene来实现高效的搜索功能。同时,你还可以了解到如何在Eclipse或MyEclipse环境中管理和构建这样的Java Web项目。对于初学者来说...
【标题】"spring-lucene简单项目" 描述了一个基于Spring框架整合Apache Lucene的实践案例。Lucene是一个高性能、全文本搜索库,被广泛应用于各种搜索引擎的开发。在这个项目中,我们将深入探讨如何将这两者结合,以...
**Lucene 7.1 RMI远程搜索例子详解** Lucene是一个开源的全文搜索引擎库,由Apache软件基金会开发。在Lucene 7.1版本中,开发者可以利用Remote Method Invocation (RMI)技术来实现远程搜索功能,这使得在分布式环境...
【标题】:“Lucene3 实例解析” 在深入探讨Lucene3这个主题之前,我们先来了解一下Lucene是什么。Lucene是一个开源的全文检索库,由Apache软件基金会开发,广泛应用于各种信息检索系统中,包括搜索引擎、内容管理...
本篇文章将深入探讨如何在Spring MVC项目中集成Lucene进行全文搜索,以提升用户体验。 首先,我们需要理解Spring MVC和Lucene的基本概念。Spring MVC是一种基于模型-视图-控制器(MVC)架构模式的轻量级Web框架,它...
lucenetest.rar,lucene,全文检索,lucene例子 lucenetest.rar,lucene,全文检索,lucene例子lucenetest.rar,lucene,全文检索,lucene例子
《J2EE博客系统:Struts2+Spring+Hibernate+Oracle+Lucene的深度解析》 在现代Web开发中,J2EE(Java Platform, Enterprise Edition)架构是企业级应用的首选平台,它提供了强大的服务支持和丰富的组件库。本篇将...
**Lucene 全文搜索引擎实例:Java Lucene 实例** Lucene 是 Apache 软件基金会的一个开源项目,它提供了一个高性能、可扩展的信息检索库。这个实例将深入讲解如何在 Java 中使用 Lucene 来创建索引并执行各种搜索...
标题中的“Lucene+compass+spring+jdbc+庖丁的一个例子”揭示了这是一个关于整合多个技术来构建一个搜索系统的示例。在这个系统中,我们有以下几个关键组件: 1. **Lucene**: Apache Lucene 是一个高性能、全文本...
Struts2、iBatis、Spring 和 Lucene 是四个在Java Web开发中广泛使用的开源框架。这个整合项目是将它们结合起来,以实现更高效、更灵活的Web应用程序开发。 Struts2 是一个基于MVC(Model-View-Controller)设计...
lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子
【Lucene.NET 实例】 Lucene.NET 是一个开源全文搜索引擎库,它是 Apache Lucene 的 .NET 版本,为 .NET 开发者提供了强大的搜索功能。Lucene.NET 提供了高性能、可扩展的文本搜索解决方案,广泛应用于各种应用程序...
本篇文章将详细探讨Lucene的实例应用,以及如何通过实例来理解和掌握这一技术。 一、Lucene的基本概念 1. 文档(Document):在Lucene中,文档是信息的基本单位,可以理解为数据库中的一条记录,包含多个字段...
//创建一个Analyzer接口的一个实例类StandardAnalyzer QueryParser qp = new QueryParser("title", analyzer); query = qp.parse(key); if (searcher != null) { hits = searcher.search(query); //...
从给定的文件信息中,我们可以提取出关于Apache Lucene的基本使用和实例的详细知识点,以下是对这些知识点的深入解析: ### Lucene简介 Apache Lucene是一个高性能、全功能的文本搜索引擎库,由Java编写,提供了对...
在这个"ssh+lucene搜索实例"中,我们可以理解为结合了SSH和Lucene两个技术,以实现远程服务器上的全文检索功能。例如,可能有一个需求是在多个远程服务器上存储大量数据,而这些数据需要通过关键词进行快速搜索。在...
**Lucene 搜索实例** Apache Lucene 是一个高性能、全文本搜索引擎库,它为开发者提供了在各种应用程序中实现全文检索的工具集。Lucene 并不是一个完整的应用,而是一个 Java 类库,可以被其他 Java 应用程序所使用...
**Lucene索引器实例详解** Lucene是一个高性能、全文本搜索库,由Apache软件基金会开发,被广泛应用于各种搜索引擎的构建。它提供了一个高级的、灵活的、可扩展的接口,使得开发者能够轻松地在应用程序中实现全文...
在这个例子中,我们首先检查索引目录是否存在,然后创建`IndexSearcher`实例。接着,我们构建一个`Term`对象,指定在"contents"字段中搜索关键词"lucene"(转为小写以忽略大小写),并通过`TermQuery`封装这个条件。...
lucene3.0 例子lucene3.0 例子 lucene3.0 例子 ,很好的学习,只有原代原,jar 包自己加上去就OK了