`
sharp-fcc
  • 浏览: 110892 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

solr indexing 和基本的数据操作

阅读更多

翻译自 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的技术。

 

 

 

分享到:
评论

相关推荐

    linux版solr

    1. **Solr核心(Core)**:Solr的核心是处理和存储数据的基本单位,每个Solr核心可以看作一个独立的搜索引擎。你可以根据需求创建多个核心,每个核心可以有自己独立的配置、索引和查询参数。 2. **索引(Indexing)**:...

    apache-solr-ref-guide-7.1.pdf

    索引和数据操作部分“Indexing and Basic Data Operations”强调了如何使用客户端API进行索引以及Solr的基本数据操作。 “Indexing Using Client APIs”和“Introduction to Solr Indexing”部分提供了关于如何使用...

    solr6 增量导入demo

    在Solr6中,增量导入(Incremental Indexing)是一项重要的功能,它允许系统仅更新自上次导入以来发生变化的数据,从而提高了数据处理的效率并降低了资源消耗。本教程将深入探讨Solr6的增量导入及其应用。 一、Solr...

    apache-solr-ref-guide-7.4(官方英文-文字版本)

    #### 十一、索引和基本数据操作(Indexing and Basic Data Operations) 1. **使用客户端 API 进行索引**:介绍了如何使用 Solr 的客户端 API 来添加、更新和删除索引中的文档。 2. **索引简介**:提供了对索引...

    Apache Solr 3 Enterprise Search Server 部分中文翻译

    本部分中文翻译主要涵盖了Solr的快速入门、Schema设计和文本分析以及索引与搜索的基本操作。 1. **快速入门(开启Solr之旅)** 这部分内容介绍了如何启动和配置Solr服务器。Solr通常运行在Jetty或Tomcat等Servlet...

    windows-solr集群.docx

    本文详细介绍了Solr的基础知识、单机安装配置流程、数据导入与同步方法,以及简要概述了Solr在Windows和Linux环境下的集群部署策略。通过本文的学习,读者能够掌握Solr的基本使用方法,并能在实际工作中应用这些技术...

    solr in action

    通过上述知识点的介绍,可以看出《Solr in Action》这本书不仅深入浅出地介绍了Solr的基本概念和技术细节,而且还提供了实用的操作指南和最佳实践建议,对于希望深入了解和应用Solr的企业和个人都是非常宝贵的资源。

    Solr in action

    这一章不仅包含了环境搭建的过程,还涉及了如何通过Solr管理界面进行基本的操作和调试。通过本章的学习,读者可以快速上手并掌握Solr的基础使用方法。 #### 三、关键概念解析 第三章“Key Solr concepts”深入探讨...

    apache-solr-ref-guide-4.6.pdf

    “Indexing and Basic Data Operations”部分描述了索引过程和基本的索引操作,如提交(commit)、优化(optimize)和回滚(rollback)。这些操作是Solr数据管理的核心,对于维护数据的完整性和可搜索性至关重要。 ...

    apache solr Reference guide 4.5.pdf

    “Indexing and Basic Data Operations”部分讲述了索引过程以及基础的索引操作,如提交(commit)、优化(optimize)和回滚(rollback)。这些操作是进行数据管理和维护的关键,对于保证索引的质量和性能至关重要。...

    solr入门指南

    本指南旨在通过一个示例模式(schema)以及样本数据来介绍Solr的基本操作。 #### 二、环境需求(Requirements) 1. **Java 1.5 或更高版本**: - 需要安装 Java 1.5 或更高版本。可从 Oracle、OpenJDK、IBM 获取。 ...

    solr.tar.gz

    接下来,理解 Solr 的基本概念至关重要,包括文档(documents)、索引(indexing)、查询(querying)和字段类型(field types)。在 PHP 中,你可以创建 SolrDocument 对象来表示文档,添加字段并提交到 Solr ...

    solr初体验

    - **Real-time indexing**:Solr支持实时索引,新增或更新的数据几乎可以立即被搜索到。 5. **源码探索** - 对于想深入了解Solr的开发者,阅读源码是一种有效的方式。Solr的源码结构清晰,模块化设计便于理解各个...

    solr schema solrconfig 配置文件解析

    总的来说,理解和配置好`schema.xml`和`solrconfig.xml`是使用Solr的关键,它们决定了Solr如何处理数据,如何响应用户的查询,以及如何优化性能。在不断调整和优化的过程中,我们可以让Solr更好地服务于我们的业务...

    message-indexing:RabbitMQ、Solr 和 AES

    标题中的“message-indexing:RabbitMQ、Solr 和 AES”揭示了这是一个关于构建消息索引系统的项目,其中涉及三个关键技术:RabbitMQ(一个消息队列系统)、Solr(一个全文搜索引擎)以及AES(高级加密标准)。...

    藏经阁-LEARNINGS USING SPARK STREAMIN.pdf

    * Solr:Indexing walmart.com Spark Streaming ------------- Spark Streaming 是一个实时数据处理引擎,可以处理高speed 的数据流。它可以从各种数据源(如 Kafka、Kinesis 等)接收数据,然后将其处理为批处理...

    Nutch简要文档

    7. **Indexing**:Nutch 可以与 Solr 结合,通过 `solrindex` 命令将解析后的数据索引到 Solr 中,便于快速查询和分析。 8. **Search**:最后,用户可以通过 Solr 的搜索接口查询索引数据,得到搜索结果。 Nutch ...

Global site tag (gtag.js) - Google Analytics