`
wutao8818
  • 浏览: 612719 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

solr 创建,删除,更新索引

阅读更多
http://lucene.apache.org/solr/tutorial.html

引用
solr svn版本 754854


引用
chrish@asimov:~/solr/example/exampledocs$ java -jar post.jar solr.xml monitor.xml


solr创建索引的过程起始于xml,要仍给solr一个xml文件。文件的内容包含了solr服务器需要何种方式处理这个xml的内容。

例如一个添加一个文档到solr操作。

solr.xml的文件内容就是
<add>
<doc>
  <field name="id">SOLR1000</field>
  <field name="name">Solr, the Enterprise Search Server</field>
  <field name="manu">Apache Software Foundation</field>
  <field name="cat">software</field>
  <field name="cat">search</field>
  <field name="features">Advanced Full-Text Search Capabilities using Lucene</field>
  <field name="features">Optimized for High Volume Web Traffic</field>
  <field name="features">Standards Based Open Interfaces - XML and HTTP</field>
  <field name="features">Comprehensive HTML Administration Interfaces</field>
  <field name="features">Scalability - Efficient Replication to other Solr Search Servers</field>
  <field name="features">Flexible and Adaptable with XML configuration and Schema</field>
  <field name="features">Good unicode support: h&#xE9;llo (hello with an accent over the e)</field>
  <field name="price">0</field>
  <field name="popularity">10</field>
  <field name="inStock">true</field>
  <field name="incubationdate_dt">2006-01-17T00:00:00.000Z</field>
</doc>
</add>



其中的add标签就代表了添加操作。

上面提交的moniter.xml文档的内容也是类似的。

<add><doc>
  <field name="id">3007WFP</field>
  <field name="name">Dell Widescreen UltraSharp 3007WFP</field>
  <field name="manu">Dell, Inc.</field>
  <field name="cat">electronics</field>
  <field name="cat">monitor</field>
  <field name="features">30" TFT active matrix LCD, 2560 x 1600, .25mm dot pitch, 700:1 contrast</field>
  <field name="includes">USB cable</field>
  <field name="weight">401.6</field>
  <field name="price">2199</field>
  <field name="popularity">6</field>
  <field name="inStock">true</field>
</doc></add>


创建索引就是扔给solr一个xml文件的过程

Updating Data

引用
You may have noticed that even though the file solr.xml has now been POSTed to the server twice, you still only get 1 result when searching for "solr". This is because the example schema.xml specifies a "uniqueKey" field called "id". Whenever you POST instructions to Solr to add a document with the same value for the uniqueKey as an existing document, it automaticaly replaces it for you. You can see that that has happened by looking at the values for numDocs and maxDoc in the "CORE" section of the statistics page...


教程里说了。在演示中2次仍给solr同一份 solr.xml,但是再次搜索还是一个,因为schema.xml (/example/solr/conf目录下)配置了uniqueKey.所以如果遇到同一个id,就自动识别为同一个记录。作为更新而不是保存。

Deleting Data

删除就是包含 delete标签的一个xml
引用
java -Ddata=args -Dcommit=no -jar post.jar "<delete><id>SP2514N</id></delete>"


引用
Now if you go to the statistics page and scroll down to the UPDATE_HANDLERS section and verify that "deletesPending : 1"

在统计页面可以看到deletesPending变更为1


引用
If you search for id:SP2514N it will still be found, because index changes are not visible until changes are flushed to disk, and a new searcher is opened. To cause this to happen, send a commit command to Solr (post.jar does this for you by default):

但是这个时候索引的变更还不会真的删除掉,直到刷到磁盘,打开一个新的searcher

分享到:
评论
4 楼 limeng650419 2014-09-28  
samjay 写道
我是根据id去删的,我的id是一个文档的路径,不管我怎么删都查得到 为什么

能更新么?
3 楼 samjay 2011-09-15  
我是根据id去删的,我的id是一个文档的路径,不管我怎么删都查得到 为什么
2 楼 wutao8818 2011-05-23  
原来的API好像没有这个功能,也许现在有了新的API,我不是很清楚,这个需要你可以去查一下了。
1 楼 JLK 2011-05-19  
有没有办法做到只更新索引的某一个字段,其它字段不动。或者在某个字段上做叠加的操作

相关推荐

    hbase+solr创建二级索引完整操作

    ### hbase+solr创建二级索引完整操作 #### 一、概述 本文档详细介绍了如何利用HBase和Solr创建二级索引的过程。通过整合HBase与Solr的优势,可以构建高性能的数据存储与检索系统。HBase作为分布式列族数据库,能够...

    solr创建索引并查询

    ### Solr创建索引并查询的关键知识点 #### 一、Solr简介 Apache Solr是一款开源的全文搜索引擎平台,基于Lucene实现。它提供了一套完整的搜索解决方案,并且支持多种高级特性,如高亮显示、分面搜索、地理位置搜索...

    跟益达学Solr5之增量索引MySQL数据库表数据

    在这个主题“跟益达学Solr5之增量索引MySQL数据库表数据”中,我们将深入探讨如何利用Solr 5来实现对MySQL数据库表数据的增量索引,以便在搜索时获得实时更新的结果。 首先,我们需要理解什么是增量索引。在传统的...

    Solr 查询,索引

    4. **更新与删除**:Solr支持对已有文档的更新和删除,这涉及到索引的实时维护,确保查询结果的准确性。 三、Solr工具 1. **Solr Admin UI**:官方提供的Web管理界面,可以方便地进行索引管理、查询测试、配置修改...

    跟益达学Solr5之索引文件夹下所有文件

    总之,"跟益达学Solr5之索引文件夹下所有文件"教程涵盖了从安装配置Solr5,创建核心,配置文件索引,到数据导入,查询优化以及监控维护等一系列步骤。通过学习这些内容,你可以掌握如何利用Solr5构建一个强大的文件...

    java多线程处理执行solr创建索引示例

    本示例讲解了如何利用Java多线程技术来有效地执行Solr创建索引的任务。 Solr是一个流行的开源全文搜索引擎,它提供了一个强大的、高度可配置的索引和查询服务。在处理大量数据时,单线程的索引创建可能成为性能瓶颈...

    Solr全文索引

    - **更新和删除**:同样,SolrNet提供了Update和Delete方法来更新或删除索引中的文档。 4. **Solr的高级特性** - **Faceting**:允许用户对搜索结果进行分类,如按类别、品牌等维度统计。 - **Highlighting**:...

    基于Solr4.9.0的搜索系统:包括Solr索引建立、Solr索引查询DUBBO接口等内容。.zip

    在SpringBoot环境下,通过配置Solr客户端,我们可以便捷地进行索引的创建、更新和删除操作。 SpringBoot以其简化Spring应用程序开发的特性,成为了微服务架构中的热门选择。在这个搜索系统中,SpringBoot作为基础...

    solr的学习

    - **创建索引**:客户端(可以是浏览器或 Java 程序)用 POST 方法向 Solr 服务器发送一个描述 Field 及其内容的 XML 文档,Solr 服务器根据 XML 文档添加、删除或更新索引。 - **搜索索引**:客户端用 GET 方法向 ...

    solr服务器_solr_

    5. **请求处理器(Request Handler)**:Solr通过Request Handler来处理HTTP请求,如搜索、添加、删除和更新文档。常见的Request Handler有`/select`(用于搜索)、`/update`(用于添加和更新文档)和`/admin/...

    solr5.5.4项目示例

    本项目示例是针对Solr 5.5.4版本的一个实践应用,旨在帮助用户了解并掌握Solr的基本操作,包括对索引的增加、删除、修改和查询。 1. **Solr安装与配置**:首先,你需要下载Solr 5.5.4版本,并解压到本地文件系统。...

    Solr的配置

    - **`&lt;requestHandler&gt;`标签**:配置Solr如何处理不同类型的请求,如搜索请求(`/select`)和索引更新请求(`/update`)。 通过以上详细步骤和解释,我们可以深入了解Solr的配置过程以及如何有效地利用Solr的强大功能...

    apache-solr-3.5.0.jar

    Apache Solr是一个开源的企业...随着版本的更新,Solr引入了更多特性,如分布式搜索、实时添加和删除、以及更强大的分析和处理能力。如果你打算深入学习Solr,了解这个版本的机制将有助于你更好地理解后续版本的变化。

    solr基础知识介绍

    Solr创建的索引与Lucene完全兼容,这意味着Solr可以阅读和使用其他Lucene应用程序构建的索引。 Solr的功能包括分布式索引设计,它允许索引自动分割成多个部分,并且能够在不停止Solr服务器的情况下更改配置。Solr还...

    php与solr交互扩展库包

    通常,开发者会通过require或include该文件,然后实例化相应的类,调用其提供的方法来执行Solr查询、索引更新等操作。 在实际应用中,使用这个扩展库,开发者可以: 1. 连接Solr服务器:通过配置Solr服务器的URL、...

    solr官方例子加入新的项目并加上发送索引功能

    它提供了高效的全文搜索、高亮显示、拼写检查、分类、 faceting、实时添加删除索引等特性。在这个主题中,我们将探讨如何在Solr官方示例中添加新的项目,并实现发送索引的功能。 首先,我们需要了解Solr的基本架构...

Global site tag (gtag.js) - Google Analytics