知识点
相关文章
更多最近更新
更多Solr 删除数据的几种方式
2019-03-27 01:01|来源: 网路
原文出处:http://blog.chenlb.com/2010/03/solr-delete-data.html
有时候需要删除 Solr 中的数据(特别是不重做索引的系统中,在重做索引期间)。删除一些 Solr 无效数据(或不合格数据)。
删除 solr 中的数据有几种方式:
1、先来看 curl 方式:
- curl http://localhost:8080/update --data-binary "<delete><query>title:abc</query></delete>" -H 'Content-type:text/xml; charset=utf-8'
- #删除完后,要提交
- curl http://localhost:8080/update --data-binary "<commit/>" -H 'Content-type:text/xml; charset=utf-8'
2、用自带的 post.jar,在 apache-solr-XXX\example\exampledocs 目录下:
- java -Ddata=args -jar post.jar "<delete><id>42</id></delete>"
- #怎么使用 post.jar 查看帮助
- java -jar post.jar -help
3、直接用 url,使用 stream 相关参数:
比如:
stream 相关参数还有:stream.file=(服务器本地文件),stream.url 分别指到你的删除文本,这里是直接字符串内容用 stream.body 参数。commit 参数是指提交,提交了才能看到删除效果。
小结:其实,方式1、2原理一样,直接 POST xml 数据过去。方式3就是直接可以告诉服务器从那些地方取删除的 xml 内容。
删除指令有两种,一是:用 <id></id> 包装;二是:<query></query> 包装。指令都很明显,一个是 id 值(是在 schema.xml 的 uniqueKey 所指字段的值,而不是索引内部的 docId);query 值是查询串,如:title:"solr lucene"。
转自:http://www.cnblogs.com/wycg1984/archive/2010/03/20/1690271
相关问答
更多-
solr 有几种导入数据的方式[2022-07-14]
solr数据导入,经过这几天的查资料,我觉得solr数据导入可以有三种方式: 1、编写数据xml文件,通过post.jar导入; 2、通过DIH导入; 3、利用solrj导入数据; 现针对第三种方式进行研究,在第一步中写了一段小的测试代码,可以参考:http://wiki.apache.org/solr/Solrj#Streaming_documents_for_an_update 具体的代码解释如下: String url = "http://localhost:8080/solr"; HttpSolrS ... -
Solr排序问题(Solr sorting issue)[2022-09-04]
多少天,我终于在长时间的斗争中找到了问题。 谢谢大家 首先,我不知道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 ... -
如果要清理Solr索引 - 你可以点击http url - http://host:port/solr/core/update?stream.body=
&commit=true 或者使用这个,如果发布数据xml数据 -*:* 确保使用commit true提交更改 没有太多的想法清除hbase数据虽然。 If you want to clean up Solr inde ...*:* -
在solr查询中使用OR和NOT(using OR and NOT in solr query)[2024-04-02]
我不知道为什么这不工作,但这是逻辑上相同的,它的工作: -(myField:superneat AND -myOtherField:somethingElse) 也许这与在查询中定义相同的字段两次有关 尝试在solr-user组中询问,然后在这里发回最后的答案! I don't know why that doesn't work, but this one is logically equivalent and it does work: -(myField:superneat AND -myOther ... -
将新的模式发布到SOLR(POST new schema to SOLR)[2023-03-14]
不幸的是,在撰写本文时这是一个悬而未决的问题 ,实施它似乎并没有太大的兴趣。 正如评论中所建议的,您可以通过设置一些外部连接(如WebDAV,FTP,SFTP,SCP)来解决此问题。 Unfortunately that's an open issue as of this writing, and there doesn't seem to be much interest to implement it. As suggested in the comments you can work around ... -
这些DB服务器的用途不同,它在很大程度上取决于您的应用程序(以及您存储的数据类型)是否应该仅使用Solr或MySQL。 MySQL可以很好地存储具有大量关系和表格的数据(彼此相关的表格)。 Solr很适合文本搜索(正如你所说:快速索引),如果你没有很多“相关数据”,你确实可以将这些数据存储在相同的文档中。 有些人确实只使用Solr来存储他们的数据库...但我仍然认为RDBM可以很好地用于某些类型的数据。 例如:如果您想允许快速搜索系统用户并存储他们的完整个人资料,以及一些信息详细信息......最好使用So ...
-
David2342 要在solr 4.6中配置uuid字段,您可能需要以下配置
id SOLR表现(SOLR performance)[2022-09-23]
您在每个查询中都给出了参数rows=2147483647 。 该参数的含义是(取自参考文献) 您可以使用rows参数对查询中的结果进行分页。 该参数指定Solr应一次返回客户端的完整结果集中的最大文档数。 默认值为10.也就是说,默认情况下,Solr一次返回10个文档以响应查询。 因此,您告诉Solr生效,在单个响应中发送查询的所有匹配。 这是你糟糕表现的原因。 当查询“java”时 ,谷歌是否会向您发送所有500.000.000次匹配,不会。 为什么不,性能。 我知道的每一个IR应用程序都会为您提供一个带 ...从Solr 3迁移数据(Migrate data from Solr 3)[2022-11-12]
关于将数据从solr导入到elasticsearch,您可以查看elasticsearch mock solr插件 。 它为elasticsearch添加了一个类似solr的新端点,这样你就可以使用你为solr编写的索引器(如果有的话)来索引elasticsearch中的文档。 此外,我一直在研究elasticsearch solr 河 ,它允许通过solrj库将数据从solr导入到elasticsearch。 唯一的限制是它只能导入您配置为存储在solr中的字段。 我应该能够很快公开它,只需几天。 我会尽 ...带有SOLR的NCrawler(NCrawler with SOLR)[2022-09-15]
是的,可以将已爬网数据索引到Solr。 我以前做过这个。 您需要创建一个实现IPipelineStep的自定义管道步骤,并将其添加到您的NCrawler实现中。 我使用SolrNet作为连接Solr的客户端。 这里有一些代码可以帮助您入门。 SolrNet.Startup.Init("http://localhost:8983/solr"); using(Crawler c = new Crawler("http://ncrawler.codeplex.com/", n ...