solr update接口常用方法

2019-03-27 01:04|来源: 网路

solr索引数据更新接口:http://localhost:8080/solr/update

有以下一些操作可以通过update接口完成,只能使用post的形式提交数据。

 

1、添加索引

确保field已全部在schemal.xml 中定义,日期格式要求的比较奇葩,但必须符合他的格式。此处adaptor,director在schemal.xml中设置了多值属性(multiValued=true)可以看出此处对应的添加xml格式。

<?xml version="1.0" encoding="utf-8"?>

<add>
  <doc>
    <field name="clipId">6206</field>
    <field name="clipName">谢娜和彭宇上演现场版野蛮女友</field>
    <field name="eName"/>
    <field name="otherName">谢娜和彭宇上演现场版野蛮女友</field>
    <field name="story">谢娜和彭宇上演现场版野蛮女友。</field>
    <field name="scenarist"/>
    <field name="adaptor">谢娜</field>
    <field name="adaptor">彭宇</field>
    <field name="director">马可</field>
    <field name="director">彭宇</field>
    <field name="director">李好</field>
    <field name="director">李响</field>
    <field name="kind"/>
    <field name="area"/>
    <field name="clicks">3334</field>
    <field name="releaseDate">2009-08-10T00:00:00Z</field>
  </doc>
</add>

 

2、删除索引

  删除单挑索引时,必须指定主键值,主键也就是你再schemal.xml中<uniqueKey>clipId</uniqueKey>节点定义的。

<?xml version="1.0" encoding="utf-8"?>

<delete>
  <id>unikey</id>
</delete>

  当然也可以批量删除索引,只要在<query>节点中定义好查询语句,solr将删除所查询到的所有索引。提交如下数据将清空索引。

<?xml version="1.0" encoding="utf-8"?>

<delete>
  <query>*:*</query>
</delete>

  提交如下数据,将删除所有otherName包含“谢娜”的索引

<?xml version="1.0" encoding="utf-8"?>

<delete>
  <query>otherName:谢娜</query>
</delete>

 

3、更新索引

  当用户添加索引后,索引库是不会马上更新的(除非已设置自动更新),那么要让他立即生效的话,提交如下数据即可。

<commit/>

 

4、重建索引

  当索引库经过多次删除、插入等操作时,索引库将产生很多碎片数据,重建索引将提高索引效率,提交如下数据即可。

  建议在应用负荷量较小的时间段进行,如凌晨时段。

<optimize/>

 


转自:http://www.cnblogs.com/shaocan/p/3503720

相关问答

更多
  • 多少天,我终于在长时间的斗争中找到了问题。 谢谢大家 首先,我不知道version number in schema file中设置version number in schema file 。 根据文档的默认值,对于多值,从版本1.1开始是false 1.0: multiValued attribute did not exist, all fields are multiValued by nature 1.1: multiValued attribute introduced, false ...
  • 正如您在自己的答案中提到的,您可以使用fl=*, score来指定要检索每个文档的分数的Solr。 你可以看到它阅读本文档 首先,Lucene / Solr仅提供TF-IDF (基于VSM)评分策略。 如果您决定插入第三方相似性实现,则可以更改 Solr使用的评分策略 ,但不能在查询基础上更改它。 实际上,您需要重新加载核心才能更改它。 As you mentioned in your own answer, you can specify Solr you want to retrieve the sco ...
  • Solr需要在Java EE应用程序服务器中运行。 您可以使用Jetty或Tomcat 。 Nginx将通过AJP或simliar充当代理,将所有RESTless请求转发给Solr。 我没有使用我的ajp与nginx,但我已经读过这个 。 基本上,您将同时运行所有Java EE应用程序服务器,Rails服务器,nginx,passenger和ajp代理。 您还可以设置代理通行证,这里有一个教程 。 探索不同的选项,看看哪一个是你的赌注。 Solr needs to run in a Java EE appl ...
  • 最新的Solr作为独立黑匣子运行。 不要看Tomcat信息的古老教程,它们不再有用。 这是通过.NET客户端连接到它的一个单独问题。 对于客户端部分,SolrNet的源代码版本更新。 它应该与最新的Solr一起工作,主要问题是Solr的URL现在必须包含集合名称,所以http:// localhost:8983 / solr / collectionname 。 检查参数以设置核心或集合或类似。 还有Solr Express,你可能想看看。 Latest Solr runs as standalone bl ...
  • Solr核心本质上是在应用程序服务器的相同上下文中运行的多个索引。 你可以认为它为每个用户安装了1个war文件 。 每个核心都以名称分隔,因此您必须自己跟踪哪个网址对哪个用户有效。 例如, http://host.com/solr/usercore1/select?q=test http://host.com/solr/usercore2/select?q=test 它基于config solr.xml :
  • 您在每个查询中都给出了参数rows=2147483647 。 该参数的含义是(取自参考文献) 您可以使用rows参数对查询中的结果进行分页。 该参数指定Solr应一次返回客户端的完整结果集中的最大文档数。 默认值为10.也就是说,默认情况下,Solr一次返回10个文档以响应查询。 因此,您告诉Solr生效,在单个响应中发送查询的所有匹配。 这是你糟糕表现的原因。 当查询“java”时 ,谷歌是否会向您发送所有500.000.000次匹配,不会。 为什么不,性能。 我知道的每一个IR应用程序都会为您提供一个带 ...
  • 我添加了sunspot.yml的路径 development: solr: hostname: localhost port: 8982 log_level: INFO path: /solr/development test: solr: hostname: localhost port: 8981 log_level: WARNING path: /solr/test 不确定这是否足够好。 似乎这是因为我使用的是Solr 4,配 ...
  • 这里有一篇很好的文章将帮助您完成PHP和SOLR的集成: http://www.ibm.com/developerworks/opensource/library/os-php-apachesolr/ SOLR有许多PHP接口,该文章引用了PHP SOLR客户端: http://code.google.com/p/solr-php-client/ 但也有这个: http://pecl.php.net/package/solr There's a good article here that will hel ...
  • 就在这里。 这里以此为例进行说明。 因此,在您的情况下,您只需确保在架构中具有版本字段,并在需要时发送它。 yes, there is. It is explained here for example. So in your case, you just need to make sure you have the version field in your schema, and send the it when needed.
  • git忽略: */data/* */dataimport.properties 例如: solr/development/data/* solr/development/conf/dataimport.properties dataimport.proporties包含最后一个索引时间和其他动态变量 #Thu Nov 17 16:21:03 GMT 2016 last_index_time=2016-11-17 16\:21\:03 development.last_index_time=2016- ...