关于maxWarmingSearchers告警和设置

**理解:**把maxWarmingSearchers理解成一个提交队列,上一个提交没完成下一个提交就进入了,大概是下面这样的情况: 希望提交的数据马上可见,于是设置add之后马上提交 数据增量频率很高,每秒都有增量 服务器配置有限,每提交一次需要2秒; **实验:**那么问题来了,一分钟进行了60次提交,但是服务器需要120秒才能反应过来,接下来会发生这样的情况: 设置maxWarmingSearchers值为120:不会出现Error opening new searcher. exceeded limit of maxWarmingSearchers提示,但是120个提交积压在“提交队列”里面,数据依然不可见,因为下一分钟还有同样数据的增量和数据挤压,很快就会出现错误提示,如果将这个值无限放大,服务器会无法响应 设置maxWarmingSearchers值...

阅读全文

Solr 检索调试

前言      Solr/Lucene是一个全文检索引擎,全文引擎和SQL引擎所不同的是强调部分相关度高的内容返回,而不是所有内容返回,所以部分内容包含在索引库中却无法命中是正常现象。      多数情况下我们建议优化分词器或者引擎其它部分达到预期检索效果。 分词器调节按照如下步骤进入分词器调试界面: 选择 collection 选择 analysis 菜单 在索引框中输入要索引的文档 在检索框中输入要检索的词语 选择需要调试的字段,这里假设要将内容索引到 title 字段,并且在该字段上检索 点击分析按钮 在展示出来的原文分词结果(左侧)和关键词分词结果(右侧)中对比最下面一行,若右侧分词结果的所有词在左侧都能找到,那么在 AND 关系的检索时能够匹配;若部分能够找到,那么在 OR 关系的检索中能够匹配;若完全找不到,那么无法匹配。 检索调节准备数据索引一条记录...

阅读全文

Ganglia 监控 Solr

安装 Ganglia123456789yum install -y wget apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpmbuild glib2-devel dbus-devel freetype-devel fontconfig-devel gcc-c++ expat-devel python-devel libXrender-devel rrdtool*rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpmrpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpmrpm -ivh http://g...

阅读全文

检索 FAQ

检索系统FAQQ1:不到1秒的时间怎么在网上检索到那么多的东东?A: 检索所需的信息,需要完成收集信息、分析信息和查询信息三个工作,我们的检索系统也不例外。 收集信息: 通常通过 spider(或 crawler)根据网络上的各种链接遍历 Web 空间采集网页资料。不同的应用,信息的采集方式也不尽相同。 分析信息: 通常需要完成三件事情: 解析网页(见网页解析 FAQ) 相关性因素的分析或计算 建立倒排索引 查询信息: 根据关键词,通过倒排索引查找与关键词匹配的数据集,按照相关性将最终结果有序输出即可。 收集信息的全部工作和分析信息的绝大部分工作已经被检索系统预先做好了,我们平时的检索主要进行的是最后一步工作,速度自然很快。这是目前百度所采用的搜索引擎模型,也被人称为全文搜索引擎(FullText Search Engine)。 Q2:什么是倒排索引?A: 顾名思义,倒排就是将对...

阅读全文

Lucene/Solr 常用资源

官方资源Solr 官方 wiki:http://wiki.apache.org/solr/ SolrCloud 官方 wiki:https://cwiki.apache.org/confluence/display/solr/SolrCloud Solr 最新版本下载地址:http://www.apache.org/dyn/closer.cgi/lucene/solr/ Solr/Lucene 历史版本下载地址:http://archive.apache.org/dist/lucene/solr/ Solr 使用手册下载地址:http://archive.apache.org/dist/lucene/solr/ref-guide/ 中文分词器mmseg4j:https://code.google.com/p/mmseg4j/ paoding:http://code.goog...

阅读全文

Solr游标查询提高翻页效率

Solr游标查询提高翻页效率长期以来,我们一直有一个深分页问题。如果直接跳到很靠后的页数,查询速度会比较慢。这是因为 Solr 需要为查询从开始遍历所有数据。直到 Solr 4.7 这个问题一直没有一个很好的解决方案。在最近发布的 Solr 版本中,Solr 使用了所谓的游标大幅度提高深翻页的性能。 问题深分页的问题是很清楚的。Solr 必须为返回的搜索结果准备一个列表,并返回它的一部分。如果该部分来源于该列表的前面并不难。但如果我们想返回第 10000 页(每页 20 条记录)的数据,Solr 需要准备一个包含大小为 200000(10000 * 20)的列表。这样,它不仅需要时间,还需要内存。 令人高兴的是,Solr 4.7 的发布改变了这一状况,引入了游标的概念。游标是一个动态结构,不需要存储在服务器上。游标包含了查询的结果的偏移量,因此,Solr 不再需要每次从头开始遍历结果...

阅读全文

Solr缓存

Solr缓存机制详解缓存在 Solr 中充当了一个非常重要的角色,Solr 中主要有这三种缓存: Solr缓存类型1. Filter cache(过滤器缓存)用于保存过滤器(fq 参数)和层面搜索的结果 2. Document cache(文档缓存)用于保存 lucene 文档存储的字段 3. Query result(查询缓存)用于保存查询的结果 还有第四种缓存,lucene 内部的缓存,不过该缓存外部无法控制到。 缓存调优通过这 3 种缓存,可以对 solr 的搜索实例进行调优。调整这些缓存,需要根据索引库中文档的数量,每次查询结果的条数等。 调优前需要收集的信息在调整参数前,需要事先得到 solr 示例中的以下信息: 索引中文档的数量 每秒钟搜索的次数 过滤器的数量 一次查询返回最大的文档数量 不同查询和不同排序的个数 这些数量可以在 solr admin 页面的日志模块找...

阅读全文

Tomcat上部署SolrCloud

本文介绍在 Tomcat 上部署 SolrCloud 集群的完整过程。 环境规划SolrCloud 服务器 s1.solr.com s2.solr.com s3.solr.com Zookeeper 服务器 z1.com z2.com z3.com 默认安装目录: /home/myuser 第一步:启动 Zookeeper 集群按照顺序启动 z1.com, z2.com, z3.com 1. 下载 Zookeeper从 http://hadoop.apache.org/zookeeper/releases.html 下载 zookeeper 2. 解压缩 Zookeeper1tar -xf zookeeper-*.tar.gz -C /home/myuser/zookeeper/ 3. 编辑 Zookeeper 配置文件编辑 /home/myuser/zookeeper/co...

阅读全文

Solr4.2 新特性 DocValues

原文地址: http://wiki.apache.org/solr/DocValues DocValues 从 Lucene 4.2 和 Solr 4.2 开始加入,通过建立字段的正排索引,提升 sorting、faceting、grouping、function queries 等性能。 介绍在 Solr 的配置文件 (schema.xml) 中,如果需要为一个 Field 建立倒排索引,可以通过配置 indexed="true" 来实现,DocValues 是一种正排索引方式,通过设置 docValues="true" 来实现。 1. DocValues 的特性 近实时索引: 在每一个索引段里面都会有一个 docvalues 数据结构,这个结构与索引同时建立,并且能够快速更新、生效; 基本的查询和过滤支持: 你可以做基本的词、范围等基本查...

阅读全文

SolrJ使用教程

Solr4.x 测试代码下载 Solr3.x 版本添加数据12345678910111213141516171819import org.apache.solr.client.solrj.SolrServerException;import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;import org.apache.solr.common.SolrInputDocument;import java.io.IOException;public class SolrjPopulator { public static void main(String[] args) throws IOException, SolrServerException { CommonsHttpSol...

阅读全文

solr的一些查询语法

1. 基本查询概念1.1 字段查询首先假设我的数据里 fields 有:name, tel, address预设的搜寻是 name 这个字段,如果要搜寻的数据刚好就是 name 这个字段,就不需要指定搜寻字段名称。 1.2 查询规则如欲查询特定字段(非预设字段),请在查询词前加上该字段名称加 “:” 符号,例如: address:北京市海淀区上地软件园 tel:88xxxxx1 1.3 查询参数说明 q 代表 query input version 代表 solr 版本(建议不要变动此变量) start 代表显示结果从哪一笔结果资料开始,预设为 0 代表第一笔 rows 是说要显示几笔数据,预设为 10 笔 因为有时查询结果可能有几百笔,但不需要显示所有结果,所以预设是从第一笔开始到第十笔。 所以若要显示第 10 到 30 笔就改为: 1http://localhost:808...

阅读全文

Solr原子更新

Solr原子更新Solr 4.0开始支持简单的原子更新和添加字段。 参数说明Solr支持多种修饰符,自动更新文档的值: set – 更新一个字段 add – 添加一个字段 inc – 在原有值的基础上增加(看下面的例子更清楚) 备注: 所有原始字段必须存储(在fieldType 里面设置 stored=true) 操作例子第一步:添加一条数据123456789curl http://localhost:8983/solr/update -H 'Content-type:application/json' -d '[ { "id": "book1", "title": "Snow Crash", "copies_i": ...

阅读全文

Solr从数据库导入数据(DIH)

一. 数据导入 (DataImportHandler-DIH)DIH 是 solr 提供的一种针对数据库、xml/HTTP、富文本对象导入到 solr 索引库的工具包。这里只针对数据库做介绍。 A、准备以下 jar 包 apache-solr-dataimporthandler-4.0.0.jar apache-solr-dataimporthandler-extras-4.0.0.jar apache-solr-dataimportscheduler-1.1.jar(增量导入使用) 数据库对应的 jdbc 驱动包 这里使用的是 Oracle oracle10g.jar,放入 Tomcat6.0.36/webapps/solr/WEB-INF/lib 中 B、配置 solrconfig.xml在 solrconfig.xml 中加入如下配置: 12345<reque...

阅读全文

Solr函数查询

一. 函数查询(Function Query)函数查询可以利用 numeric 域的值或者与域相关的某个特定的值的函数,来对文档进行评分。 1. 使用函数查询的方法这里主要有三种方法可以使用函数查询,这三种方法都是通过 solr http 接口的。 1) 使用 FunctionQParserPlugin即:q={!func}log(foo) 2) 使用 “val“ 内嵌方法内嵌在正常的 solr 查询表达式中。即,将函数查询写在 q 这个参数中,这时候,我们使用 “val“ 将函数与其他的查询加以区别。 即:entryNm:make && _val_:ord(entryNm) 3) 使用 dismax 中的 bf 参数使用明确为函数查询的参数,比如说 dismax 中的 bf(boost function)这个参数。 注意: bf 这个参数是可以接...

阅读全文

Solr查询语法

Solr查询语法详解1. 匹配所有文档1*:* 2. 强制、阻止和可选查询Mandatory(强制)查询结果中必须包括的(例如,只返回包含指定词的条目) Solr/Lucene语法: +make +make +up +make +up +kiss Prohibited(阻止)例如,所有文档除了包含某个词的文档 Solr/Lucene语法: +make +up -kiss Optional(可选)Solr/Lucene语法: +make +up kiss 3. 布尔操作AND、OR和NOT布尔操作(必须大写)与Mandatory、optional和prohibited相似。 make AND up = +make +up:AND左右两边的操作都是mandatory make up = make OR up = ...

阅读全文

Solr查询参数QueryParam

1. CoreQueryParam 查询的参数 q: 查询字符串,必须的。 q.op: 覆盖 schema.xml 的 defaultOperator(有空格时用 “AND” 还是用 “OR” 操作逻辑),一般默认指定。 df: 默认的查询字段,一般默认指定。 qt: query type,指定查询使用的 Query Handler,默认为 “standard”。 wt: writer type。指定查询输出结构格式,默认为 “xml”。在 solrconfig.xml 中定义了查询输出格式:xml、json、python、ruby、php、phps、custom。 echoHandler: 是否在查询结果中显示使用的 Query Handler 名称。 echoParams: 是否显示查询参数。 none:不显示 explicit:只显示查询参数 all:所有,包括在...

阅读全文

Lucene查询语法

Lucene查询语法详解Lucene提供了丰富的API来组合定制你所需要的查询器,同时也可以利用 Query Parser提供的强大的查询语法解析来构造你想要的查询器。本文章详细的介绍了Lucene的查询语法。 使用Query Parser前的注意事项通过Java语法分析器把一个查询字符串解析成 Lucene的查询器。在你选择使用Query Parser前,请考虑以下事项: 程序拼接查询:如果你打算在程序中拼接查询语法串然后再利用Query Parser转换,那么强烈建议你利用相应的API来自己构造查询器。也就是说,Query Parser是为手工输入高级查询设计的,而不是为程序拼接语法串而设计的。 不分词字段处理:不分词的字段也最好通过相应的API添加到查询器中,而不是通过Query Parser。Query Parser 使用的Analyser分析器,作用是将用户手工输入的文...

阅读全文

SOLR优化-filter cache

原文链接:http://java.dzone.com/news/merge-policy-internals-solr?mz=33057-solr_lucene 今天我们关注一个 solr 的 cache 类型:filter cache。接下来,我会解释它是什么、怎么配置它以及如何更好的使用它。 What it is used for?先从内部机制开始。FilterCache 存储了一些无序的文档标识号 (ID)。这些 ID 并不是我们在 schema.xml 里配置的 unique key,而是 solr 内部的一个文档标识。请记住这个。 FilterCache 的任务是保持与用户过滤的结果关联。另外,cache 可以辅助 facet 机制(在使用 TermEnum 时),在 solrconfig.xml 中的 <useFilterForSortedQuery/> 参数...

阅读全文

© 2025 Solr Community of China All Rights Reserved. 本站访客数人次 本站总访问量
Theme by hiero