随笔分类 -  搜索引擎

摘要:elasticsearch用于构建高可用和可扩展的系统。扩展的方式可以是购买更好的服务器(纵向扩展)或者购买更多的服务器(横向扩展),Elasticsearch能从更强大的硬件中获得更好的性能,但是纵向扩展也有一定的局限性。真正的扩展应该是横向的,它通过增加节点来传播负载和增加可靠性。对于大多数... 阅读全文
posted @ 2014-11-30 15:05 苏二 阅读(23567) 评论(1) 推荐(2) 编辑
摘要:下个月又开始搞搜索了,几个月没动这块还好没有落下.晚上在自己虚拟机上搭建了一个简易搜索集群,分享一下.操作系统环境: Red Hat 4.8.2-16elasticsearch : elasticsearch-1.4.1集群搭建方式: 一台虚拟机上2个节点. 集群存放路径:/export/searc... 阅读全文
posted @ 2014-11-29 23:58 苏二 阅读(12061) 评论(4) 推荐(2) 编辑
摘要:今天个人coding的模块测试,所以闲暇之余继续研究solr,然后顺带写了一个实例,随便搞的,solr真心不熟,期待认识热爱搜索的朋友,共同进步.1.配置schema.xml文件[solr\collection1\conf\目录下]因为schema默认定义了一些Field,我们这里选取[id,title,description, author]这几个属性,将id主键type配置为string,其它几个type配置为自定义的ik分词器 Ik分词器定义如下 2. 编写solr操作... 阅读全文
posted @ 2014-03-25 19:45 苏二 阅读(5126) 评论(11) 推荐(3) 编辑
摘要:添加索引Solr添加文档至索引: http://www.cnblogs.com/dennisit/p/3621717.html删除索引:每天索引记录有一个唯一标识,索引的删除通过唯一标识操作,如下实例展示索引的删除.删除单个索引 /** * 根据id从索引中删除记录[测试通过] * @param server * @param idName 主键名 * @param id 主键值 */ public static void deleteById(SolrServer server, String idName, Objec... 阅读全文
posted @ 2014-03-25 19:38 苏二 阅读(2860) 评论(0) 推荐(1) 编辑
摘要:solrJ从查询结果集中获取对象数据.方案一:自定义转换方式 /** * * SolrDocument与实体类转换 [测试通过] * * @author pudongping * * @param document * SolrDocument对象 * @param clzz * 泛型类 * @return */ public static T solrDocument2Entity(SolrDoc... 阅读全文
posted @ 2014-03-24 20:09 苏二 阅读(7215) 评论(0) 推荐(0) 编辑
摘要:今天抽空学习了一下solr,有新东西学习就是哈皮! 期待能有机会与实战.实例仅为个人理解学习实例.提交到Solr服务器上的数据必须是 SolrInputDocument 类型.方案一:利用反射,自定义转换机制JavaBean对象转换成SolrInputDocument的方式我们可以自定义.如果我们的Model类符合JavaBean的规范,那么我们可以使用反射获取其内部信息. /** * @author dennisit@163.com * * 实体类与SolrInputDocument转换 [测试通过] * * @param obj ... 阅读全文
posted @ 2014-03-24 20:03 苏二 阅读(6199) 评论(2) 推荐(0) 编辑
摘要:schema.xml位于solr/collection1/conf/目录下,是Solr中用户定义字段类型及字段的配置文件.Solr版本: 4.6.0第一步: Schema.xml说明实例schema.xml结构同solr/collection1/conf/schema.xml结构一致,具体配置通过注... 阅读全文
posted @ 2014-03-24 12:48 苏二 阅读(2392) 评论(0) 推荐(1) 编辑
摘要:好久没有接触新东西了,最新开始熟悉solr,实例展示单机环境solr整合.整合方案一1.下载Tomcat与solr并解压 Tomcat解压后磁盘路径为D:\programfiles\Tomcat7\2.启动Tomcat服务器 浏览器输入:http://localhost:8080 这步操作是为了操作是为了在Tomcat/conf目录下生成Catalina/localhost目录,这个文件会在接下来使用.3.将solr部署到Tomcat a)复制Solr目录example/solr到Tomcat的根目录下 b)复制Solr目录dist/solr-4.6.0.war到Tomcat的web... 阅读全文
posted @ 2014-03-07 15:33 苏二 阅读(1657) 评论(0) 推荐(0) 编辑
摘要:应用说明见代码注解。1.简单搜索实例展示: public void search() throws IOException { // 自定义集群结点名称 String clusterName = "elasticsearch_pudongping"; // 获取客户端 Client client = ESClient.initClient(clusterName); // 创建查询索引,参数productindex表示要查询的索引库为productindex SearchRequestBuilder se... 阅读全文
posted @ 2013-10-11 17:10 苏二 阅读(18469) 评论(1) 推荐(2) 编辑
摘要:关于ElasticSearch不介绍了,直接说应用.分布式ElasticSearch集群构建的方法.1.通过在程序中创建一个嵌入es节点(Node),使之成为es集群的一部分,然后通过这个节点来与es集群通信./**在运行该测试实例时,已经在本地建立了对应的索引库datum*/ public static void main(String[] args) { //当你启动一个节点,它会自动加入同网段的es集群,一个前提就是es的集群名(cluster.name)这个参数要设置一致。 String clusterName = "elasticse... 阅读全文
posted @ 2013-09-29 18:52 苏二 阅读(6161) 评论(4) 推荐(2) 编辑
摘要:在此回复牛妞的关于程序中分词器的问题,其实可以直接很简单的在词库中配置就好了,Lucene中分词的所有信息我们都可以从TokenStream流中获取.分词器的核心类Analyzer,TokenStream,Tokenizer,TokenFilter.AnalyzerLucene中的分词器有StandardAnalyzer,StopAnalyzer,SimpleAnalyzer,WhitespaceAnalyzer.TokenStream分词器做好处理之后得到的一个流,这个流中存储了分词的各种信息.可以通过TokenStream有效的获取到分词单元Tokenizer主要负责接收字符流Reader 阅读全文
posted @ 2013-08-14 22:52 苏二 阅读(9974) 评论(3) 推荐(2) 编辑
摘要:安装包下载当前最新版本为:0.20.6http://www.elasticsearch.org/download/官方视频教程http://www.elasticsearch.org/videos/Window环境下载完解开有以下个包:bin是运行的脚本,config是设置文件,lib是放依赖的包。启动解压目录下的bin名称的文件夹,双击elasticsearch.bat文件,就可以启动elasticsearch,启动成功界面如下:启动成功后,会在解压目录下增加2个文件件,data用于数据存储,logs用于日志记录,可以自己创建plugins目录中用于放置自己的插件。此时可以在浏览器中输入:h 阅读全文
posted @ 2013-04-08 18:32 苏二 阅读(15612) 评论(13) 推荐(5) 编辑
摘要:方案一:基于配置的词典扩充项目结构图如下:IK分词器还支持通过配置IKAnalyzer.cfg.xml文件来扩充您的专有词典。谷歌拼音词库下载:http://ishare.iask.sina.com.cn/f/14446921.html?from=like在web项目的src目录下创建IKAnalyzer.cfg.xml文件,内容如下 IK Analyzer 扩展配置 /dicdata/use.dic.dic;/dicdata/googlepy.dic /dicdata/ext_stopword.dic 词典文件的编辑与部署分词器的词典文件格式是... 阅读全文
posted @ 2013-04-07 18:59 苏二 阅读(28102) 评论(6) 推荐(3) 编辑
摘要:Lucene是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎.它提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。在Java开发环境里Lucene是一个成熟的免费开源工具。就其本身而言,Lucene是很受欢迎的免费Java资讯检索程式库。因公司需要,所以开始爬资料学习,希望得到更多大神的指点.然后把这块做好!当前版本为4.2,官方网站:http://lucene.apache.org/在全文索引工具中,都是由3部分组成1.索引部分2.分词部分3.搜索部分建立索引的步骤1.创建Directory2.创建IndexWriter3.创建Document对象4.为Do 阅读全文
posted @ 2013-04-06 19:39 苏二 阅读(4972) 评论(2) 推荐(4) 编辑
摘要:使用Lucene检索文档关键字时,具体步骤如下:1.对文档处理2.为要处理的文件内容建立索引3.构建查询对象4.在索引中查找使用Lucene检索文档中的关键字实例文件预处理工具类FilePreHandleUtilpackage org.dennisit.study.lucene.prehandle;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOE 阅读全文
posted @ 2013-01-29 14:39 苏二 阅读(2546) 评论(0) 推荐(2) 编辑