
全文检索
疯狂的葡萄
分享就是进步
展开
-
分布式Solr的排序及分页性能问题
分布式Solr的排序和分页使用下面的算法:1. 传入查询条件q,排序sort,开始行数start,返回记录数rows2. 修改参数,向各个分片shard发送新的查询请求: a)保持q和sort不变 b)修改start=0,rows=原start+原rows c)分片shard将会返回最多(原start+原rows)行数据,并且是按照sort排序的3. 合并每个s转载 2013-11-20 12:09:01 · 3018 阅读 · 0 评论 -
Solr入门之SolrServer实例化方式
1、ConcurrentUpdateSolrServer实例化SolrServer,该类实例化多用于更新删除索引操作 ConcurrentUpdateSolrServer(String solrServerUrl, int queueSize, int threadCount) solrServerUrl是Solr服务器的地址, queueSize缓冲原创 2014-12-03 12:21:04 · 812 阅读 · 0 评论 -
solr常见问题整理
本文是我在开发过程中遇到的一些问题的整理,有些摘自网上别人的方法。1. org.apache.solr.client.solrj.SolrServerException: Timeout occured while waiting response from server at: http://localhost/solr请求超时 解决方法:设置setConnectionTime原创 2013-06-19 14:32:01 · 12848 阅读 · 0 评论 -
solr4.9原子更新solrj例子
doc.setField("id", 81); Map setOper = new HashMap(); setOper.put("set", "小冰"); doc.addField("name", setOper); UpdateResponse response = server.add(doc); server.commit(); 的确实现了指定字段的更新,不用转载 2014-08-26 10:11:32 · 1379 阅读 · 0 评论 -
Solr游标查询提高翻页效率
长期以来,我们一直有一个深分页问题。如果直接跳到很靠后的页数,查询速度会比较慢。这是因为Solr的需要为查询从开始遍历所有数据。直到Solr的4.7这个问题一直没有一个很好的解决方案。与最近发布的Solr的版本中,Solr使用了所谓的游标大幅度提高深翻页的性能。问题深分页的问题是很清楚。Solr必须为返回的搜索结果准备一个列表,并返回它的一部分。如果该部分来源于该列表的前面并不难。但如转载 2014-08-15 16:56:27 · 4912 阅读 · 1 评论 -
Solr Suggest实现搜索智能提示
智能提示简介搜索的智能提示目前是各大搜索的标配应用,主要作用是避免用户输入错误的搜索词,同时将用户引导到相应的关键词搜索上。Solr Suggestion智能提示模块作为一个应用广泛的搜索引擎系统,Solr内置了智能提示功能,它在Solr里叫做Suggest模块.该模块可选择基于提示词文本做智能提示,还支持通过针对索引的某个字段建立索引词库做智能提示。在诸多文档中都推荐使用转载 2014-06-04 12:45:25 · 1704 阅读 · 0 评论 -
solrj操作core
最近开发需要用到solr全文检索,由于有多种数据,希望把这些数据所见的索引进行分类查询,于是就了解了solr的multiCore。在网上找了很多资料没有找到我想要的例子,最终通过群里的一些朋友帮助熟悉了CoreAdminRequest这个类对我很有用,于是就根据提供的api最终实现了core的添加。以下是代码 Java代码 try { //原创 2014-04-09 15:44:47 · 1347 阅读 · 1 评论 -
solr的facet性能
1.1 facet.method取值为enum或fc,默认为fc.该字段表示了两种Facet的算法,与执行效率相关.enum适用于字段值比较少的情况,比如字段类型为布尔型,或者字段表示中国的所有省份.Solr会遍历该字段的所有取值,并从filterCache里为每个值分配一个filter(这里要求solrconfig.xml里对filterCache的设置足够大).然后计算每个转载 2014-03-14 08:54:55 · 852 阅读 · 0 评论 -
Lucene 4 和 Solr 4 学习笔记
下面我们简单的学习(或者复习)一下Lucene的建索引过程,我们将给出lucene 2.x/3.x 和 最新trunk正在开发的4.0的建立索引的方法,尤其是它们的区别。 Lucene 2.x/3.x里建立索引并进行简单搜索的例子[java] view plaincopyDirectory dir=FSDirectory.ope转载 2014-03-14 08:56:42 · 839 阅读 · 0 评论 -
SolrCloud简介
一.简介SolrCloud是Solr4.0版本以后基于Solr和Zookeeper的分布式搜索方案。SolrCloud是Solr的基于Zookeeper一种部署方式。Solr可以以多种方式部署,例如单机方式,多机Master-Slaver方式。二.特色功能SolrCloud有几个特色功能:集中式的配置信息使用ZK进行集中配置。启动时可以指定把Solr的相关配置文件上转载 2014-01-09 12:44:37 · 715 阅读 · 0 评论 -
Solr的检索运算符
1. “:” 指定字段查指定值,如返回所有值*:*2. “?” 表示单个任意字符的通配3. “*” 表示多个任意字符的通配(不能在检索的项开始使用*或者?符号)4. “~” 表示模糊检索,如检索拼写类似于”roam”的项这样写:roam~将找到形如foam和roams的单词;roam~0.8,检索返回相似度在0.8以上的记录。5. 邻近检索,如检索相隔10个单词的”apache”和原创 2013-12-10 08:48:20 · 2612 阅读 · 0 评论 -
Solr Facet参数
1.将查询的row设置为0,不显示不需要的结果。2.facet=tue,增加分类汇总3.facet.field=type,按照哪个字段分类,4.facet.limit=100,最多显示前100个分类示例:http://localhost:8080/solr/core0/select/?q=*%3A*&version=2.2&start=0&rows=0&indent=on&face转载 2013-12-11 12:58:13 · 1528 阅读 · 0 评论 -
solr date时间差8小时解决办法
solr因为时区设置问题,导致正常入索引后的date类型的时间会减少8小时,跟多初学者会为此苦恼,今天我把个人解决的方案给大家说一下,希望能帮助到大家. 方案一:对date类型的时间字段, 如果可以的话,可以将solr的时间field的类型改为string类型,这样也就不存在时差的问题了,这个方案是可行的. 方案二:既然知道solr入索引时,时间类型的字段会减少8小时,那么原创 2013-12-03 12:05:31 · 1736 阅读 · 0 评论 -
如何设置SOLR的高亮 (highlight)?
打开SOLR的核心配置文件: solrconfig.xml 找到 standard request handler 写入以下XML配置代码: [c-sharp] view plaincopy"standard" class="solr.SearchHandler" default="true">转载 2013-11-27 17:55:32 · 1078 阅读 · 0 评论 -
solr+mmseg4j 中文分词
首先安装mmseg4j官网:https://code.google.com/p/mmseg4j/下载地址:http://code.google.com/p/mmseg4j/downloads/listwget http://mmseg4j.googlecode.com/files/mmseg4j-1.9.0.v20120712-SNAPSHOT.zip(我用的是mmse转载 2013-11-22 09:25:14 · 1143 阅读 · 0 评论 -
solr查询参数
q - 查询字符串,必须的。 fl - 指定返回那些字段内容,用逗号或空格分隔多个。start - 返回第一条记录在完整找到结果中的偏移位置, 0 开始,一般分页用。rows - 指定返回结果最多有多少条记录,配合 start 来实现分页。sort - 排序,格式: sort=+[,+]… 。原创 2015-02-03 16:02:44 · 628 阅读 · 0 评论