Solr如何按照年月日facet分层查询

这里假设我们的时间字段是 timestamp 在 schema.xml 配置如下: 1<field name="timestamp" type="date" indexed="true" stored="true" default="NOW+8HOUR" multiValued="false"/> 查询参数如下: 1facet=true&facet.date=timestamp&facet.date.start=NOW/DAY-1DAY&facet.date.end=NOW/DAY%2B1DAY&facet.date.gap=%2B1DAY 参数解释facet=true 开启分层检索 facet.date&#...

阅读全文

solr记录时间不准

Solr记录时间不准的解决方案问题描述下面的配置可以自动添加当前时间到timestamp字段,这是按照格林威治时间记录的,我们在东8区: 1<field name="timestamp" type="date" indexed="true" stored="true" default="NOW" multiValued="false"/> 解决方案下面这样配置记录的就是北京时间: 1<field name="timestamp" type="date" indexed="true" stored="true" default="NOW+8HOUR"...

阅读全文

Lucene/Solr架构

Lucene/Solr 索引架构 Just like all request handlers, update handlers can be mapped to a specific URL and have their own set of default or invariant parameters. Each update handler can have it’s own Update Processor Chain that can do Document-level operations prior to indexing, or even redirect indexing to a different server or create multiple documents (or zero) from a single one. All of the...

阅读全文

Solr部署如何启动

我刚接触 solr,我要怎么启动,这是群里的朋友问得比较多的问题。 solr 最新版本下载地址:http://www.apache.org/dyn/closer.cgi/lucene/solr/ 1、准备环境建立一个 solr 目录,把 solr 压缩包 example 目录下的内容复制到该目录 2、把各种 jar 包准备好用 winrar 打开 webapps 目录下的 solr.war 文件 把下载的 solr 压缩包 contrib 目录中所有 jar 文件放到 solr.war 包里的 WEB-INF\lib 目录下 3、启动 Solr运行 java -jar start.jar 启动,solr 将运行在 8983 端口 4、访问 Solr用浏览器访问 http://localhost:8983/solr,注意 solr 管理界面不兼容 IE 浏览器。 相关资源SolrClo...

阅读全文

取消document唯一性检查(Disable unique document check)

取消唯一性检查的方法默认情况下,索引的时候 Solr 会检查主键是否有重复的,以避免不同的 document 使用相同的主键。 如果你确认你的 document 不会有重复的主键,可以通过以下方式取消检查: 将参数 allowDups=true 加到 URL 上 对于 CSV 文档,使用 overwrite=false 详细说明使用 allowDups 参数在更新文档时,可以在 URL 中添加 allowDups=true 参数: 1http://localhost:8983/solr/collection1/update?allowDups=true 使用 overwrite 参数对于 CSV 格式的文档导入: 1http://localhost:8983/solr/collection1/update/csv?overwrite=false 性能考虑取消唯一性检查可以提高...

阅读全文

Solr各组件之间的关系图中英文对照版

Solr 4 组件关系图为了帮助大家更好地理解 Solr 的架构,我们提供了 Solr 4 主要组件关系图的中英文对照版本。这些图展示了 Solr 内部各个组件之间的关系和数据流向。 英文版 中文版 组件说明主要组件介绍IndexWriter(索引写入器) 负责将文档写入 Lucene 索引 管理索引的创建和更新操作 处理文档的添加、删除和修改 IndexSearcher(索引搜索器) 负责搜索操作的执行 处理查询请求并返回结果 管理搜索相关的缓存 Request Handler(请求处理器) 处理不同类型的 HTTP 请求 包括搜索请求、更新请求、管理请求等 可以自定义不同的处理器来满足特定需求 Query Parser(查询解析器) 将用户输入的查询字符串解析为 Lucene 查询对象 支持多种查询语法(如 DisMax、eDisMax 等) 可以处理复杂的查询逻辑...

阅读全文

SolrCloud和MultiCore的区别

首先我们初步理解一下概念 SolrCloud 模式下有 Cluster,Node,Collection,Shard,LeaderCore,ReplicationCore 几个概念,这里我引用一下同事对官方概念的翻译: Cluster 群集:群集是一组作为一个单元管理的 Solr 节点。整个群集必须使用同一套 schema 和 solrconfig Node 节点:一个运行 Solr 的 JVM 实例 Shard 碎片:一个分区通过指定的复制因子(replication factor)被存储在多个节点上。所有这些节点共同形成一个碎片。一个节点可能由多个碎片组成。 Leader 负责人:每个碎片(shard)都有一个节点标识作为它的领导。所有的写操作经过领导节点写入指定的分区。 Replication Factor 复制因子:群集维护的最少数量的文件副本 补充说明Collection...

阅读全文

用好Collection<SolrInputDocument>对solrj入库进行优化

今天一个朋友找我说他进行入库测试:1 个 collection,2 个 shard,30 多个字段,一个小时才入库 4 万条左右。 如果每条记录都很大这也是有可能的,不过我还是先让他贴代码出来看一下,他的入库代码: 1234567891011121314public static void addIndex(String record) throws SolrServerException, IOException { String[] records = record.split("\\\\+\\", -1); SolrInputDocument doc = new SolrInputDocument(); doc.addField("id", uuid(), 1.0f); doc.addField(&quo...

阅读全文

简单说一下solr的数据查询和存储

一个朋友在群里问为什么在 analyzer 里看到的和从索引里面查出来的不一样,在过滤器里面配置了: 1<charFilter class="solr.HTMLStripCharFilterFactory"/> 并且在 analyzer 里面调试确实去除了 HTML,但是在查询索引的时候 HTML 又出来了。 刚接触的同学可能对于 Solr/Lucene 的数据存储不是特别清楚,简单的说,Solr 数据分两部分:存储和索引 索引过程数据提交到 Solr 后,按照配置进行索引和存储两部分处理,存储带 HTML,索引不带 HTML(因为 filter 可以过滤索引数据,不能过滤存储数据) 查询过程查询请求提交到 Solr 后先经过 analyzer 处理,然后到索引里面查询数据,如果找到记录从存储返回原文

阅读全文

关于Solr评分修改

经常有朋友在群里问,Solr 要修改打分机制怎么改? 大多数回答:Similarity 是个不错的方案。但是具体怎么弄很少有明确的描述,官方 wiki 也只是说可以自定义,具体如何做,没有例子。 Solr 4.0 内置的评分方法首先,Solr 4.0 本身提供了多种评分方法: org.apache.solr.search.similarities.BM25SimilarityFactory org.apache.solr.search.similarities.DefaultSimilarityFactory org.apache.solr.search.similarities.DFRSimilarityFactory org.apache.solr.search.similarities.IBSimilarityFactory org.apache.solr.searc...

阅读全文

SolrCloud分布式检索时显示每个shard的响应速度

想看看每个 shards 返回的时间,来方便设置 HttpShardHandlerFactory。 使用参数可以使用 shards.info 参数来查看每个 shard 的响应信息。 参数详解当在查询中添加 shards.info=true 参数时,Solr 会在响应中返回每个 shard 的详细信息,包括: 响应时间 处理的文档数量 查询执行状态 配置示例1http://localhost:8983/solr/collection1/select?q=*:*&shards.info=true 响应格式返回的响应中会包含类似以下的信息: 12345678<lst name="shards.info"> <lst name="shard1"> <long name="numFound&...

阅读全文

SolrCloud分布式检索时忽略宕机的Shard

问题描述当SolrCloud集群中有shard宕机时,会出现以下错误: 1234<lst name="error"> <str name="msg">no servers hosting shard:</str> <int name="code">503</int></lst> 解决方案加入下面参数,只从存活的shards获取数据: 1shards.tolerant=true 配置示例12345678<requestHandler name="/select" class="solr.SearchHandler"> <lst name="defaults"...

阅读全文

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