翻译自 Apache Solr Reference Guide
indexing:
solr的索引能够接受不同途径的index,包括XML文件,CSV文件,数据库里的表,或者word,PDF中的信息。
有三种方式可以建立solr的索引,可以用tika中的solr cell 来给word,PDF等office文件来建立索引,可以使用http请求来建,还可以使用提供的标准API,这种方式是最推荐的,如果作为一个应用程序的话。
这里有个最基本的数据结构,一个document包含多个field,一个field最起码有个name,和value,一个document中最起码有个field能够作为id的,当然在solr中他并不要求id是唯一的。
schema.xml跟index关联很大,analysis 这个field的时候会根据xml中的配置,把field的内容进行tokenize,如果有些fields没有被精确定义,他会被忽略或者映射到 dymamic field .
使用index handler上传数据:
在solrconfig.xml中配置了handler的路径,如果对url的路径有修改,别忘了修改这个
<requestHandler name="/update" class="solr.UpdateRequestHandler" />
如果document中有uniq key的时候,新增的文档会替换是这个key的文档,如果不指定uniq key,速度会快点,因为不需要做key的检测,你有u niq key 但是不想让他做check,可以使用{overwrite="false"} 这个参数。
commit操作时让发过去的数据正真生效,推荐solrconfig中的autocommit。
optimize操作可以优化index,提高检索效率,在一个非常大的索引中,优化可能会和一些时间来做,但是通过merge一些小文件成一个大的文件,效率会快很多。
使用集成tika的solr cell可以从xhtml,office的一套中提取内容
DIH:
data import handler: 可以从数据库, RSS,email站点,导入数据。
首先需要在 solrconfig.xml中配置,如下所示:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">/path/to/my/DIHconfigfile.xml</str> </lst> </requestHandler>
一个典型的DIHconfigfile.xml如下所示:
<dataConfig> <dataSource driver="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:./example-DIH/hsqldb/ex" user="sa" /> <document> <entity name="item" query="select * from item" deltaQuery="select id from item where last_modified > '${dataimporter.last_index_time}'"> <field column="NAME" name="name" /> <field name="features" column="DESCRIPTION" /> </entity> </document> </dataConfig>
一目了然, item 是表名, queyr是sql, field表示solr中的field跟db中表的字段对应。
数据更新:
一般有两种方式,一种是更新一个或者多个field,不需要重新建立索引,还有一个是在nosql中常见的技术,给予版本号做更新,一种叫做 optimistic concurrency的技术。
相关推荐
1. **Solr核心(Core)**:Solr的核心是处理和存储数据的基本单位,每个Solr核心可以看作一个独立的搜索引擎。你可以根据需求创建多个核心,每个核心可以有自己独立的配置、索引和查询参数。 2. **索引(Indexing)**:...
索引和数据操作部分“Indexing and Basic Data Operations”强调了如何使用客户端API进行索引以及Solr的基本数据操作。 “Indexing Using Client APIs”和“Introduction to Solr Indexing”部分提供了关于如何使用...
在Solr6中,增量导入(Incremental Indexing)是一项重要的功能,它允许系统仅更新自上次导入以来发生变化的数据,从而提高了数据处理的效率并降低了资源消耗。本教程将深入探讨Solr6的增量导入及其应用。 一、Solr...
#### 十一、索引和基本数据操作(Indexing and Basic Data Operations) 1. **使用客户端 API 进行索引**:介绍了如何使用 Solr 的客户端 API 来添加、更新和删除索引中的文档。 2. **索引简介**:提供了对索引...
本部分中文翻译主要涵盖了Solr的快速入门、Schema设计和文本分析以及索引与搜索的基本操作。 1. **快速入门(开启Solr之旅)** 这部分内容介绍了如何启动和配置Solr服务器。Solr通常运行在Jetty或Tomcat等Servlet...
本文详细介绍了Solr的基础知识、单机安装配置流程、数据导入与同步方法,以及简要概述了Solr在Windows和Linux环境下的集群部署策略。通过本文的学习,读者能够掌握Solr的基本使用方法,并能在实际工作中应用这些技术...
通过上述知识点的介绍,可以看出《Solr in Action》这本书不仅深入浅出地介绍了Solr的基本概念和技术细节,而且还提供了实用的操作指南和最佳实践建议,对于希望深入了解和应用Solr的企业和个人都是非常宝贵的资源。
这一章不仅包含了环境搭建的过程,还涉及了如何通过Solr管理界面进行基本的操作和调试。通过本章的学习,读者可以快速上手并掌握Solr的基础使用方法。 #### 三、关键概念解析 第三章“Key Solr concepts”深入探讨...
“Indexing and Basic Data Operations”部分描述了索引过程和基本的索引操作,如提交(commit)、优化(optimize)和回滚(rollback)。这些操作是Solr数据管理的核心,对于维护数据的完整性和可搜索性至关重要。 ...
“Indexing and Basic Data Operations”部分讲述了索引过程以及基础的索引操作,如提交(commit)、优化(optimize)和回滚(rollback)。这些操作是进行数据管理和维护的关键,对于保证索引的质量和性能至关重要。...
本指南旨在通过一个示例模式(schema)以及样本数据来介绍Solr的基本操作。 #### 二、环境需求(Requirements) 1. **Java 1.5 或更高版本**: - 需要安装 Java 1.5 或更高版本。可从 Oracle、OpenJDK、IBM 获取。 ...
接下来,理解 Solr 的基本概念至关重要,包括文档(documents)、索引(indexing)、查询(querying)和字段类型(field types)。在 PHP 中,你可以创建 SolrDocument 对象来表示文档,添加字段并提交到 Solr ...
- **Real-time indexing**:Solr支持实时索引,新增或更新的数据几乎可以立即被搜索到。 5. **源码探索** - 对于想深入了解Solr的开发者,阅读源码是一种有效的方式。Solr的源码结构清晰,模块化设计便于理解各个...
总的来说,理解和配置好`schema.xml`和`solrconfig.xml`是使用Solr的关键,它们决定了Solr如何处理数据,如何响应用户的查询,以及如何优化性能。在不断调整和优化的过程中,我们可以让Solr更好地服务于我们的业务...
标题中的“message-indexing:RabbitMQ、Solr 和 AES”揭示了这是一个关于构建消息索引系统的项目,其中涉及三个关键技术:RabbitMQ(一个消息队列系统)、Solr(一个全文搜索引擎)以及AES(高级加密标准)。...
* Solr:Indexing walmart.com Spark Streaming ------------- Spark Streaming 是一个实时数据处理引擎,可以处理高speed 的数据流。它可以从各种数据源(如 Kafka、Kinesis 等)接收数据,然后将其处理为批处理...
7. **Indexing**:Nutch 可以与 Solr 结合,通过 `solrindex` 命令将解析后的数据索引到 Solr 中,便于快速查询和分析。 8. **Search**:最后,用户可以通过 Solr 的搜索接口查询索引数据,得到搜索结果。 Nutch ...