我怎么挑/删除的所有文件从Solr使用布尔概念不?

即我怎么删除所有的文件,从Solr人的身份不会开始与A59?

有帮助吗?

解决方案

使用 - 表示 NOT

例如,要查询id不是以A59开头的文档,查询将是: -id:A59 * ,即: / solr / select /?q = -id :A59 *

要按查询删除,请将删除消息中的查询发布到更新处理程序,如指定此处

编辑: NOT (全部大写)也可以用作布尔运算符

其他提示

感叹号也适用于NOT,所以:

/solr/select/?q=!id:A59*

应该适用于上述情况。

我不相信查询的否定删除有效。请参阅此Jira票: https://issues.apache.org/jira/browse/SOLR- 381个

他们确实说有一个解决方法在一个前缀:,但我没有任何运气。

这不起作用(与使用NOT相同) java -Ddata = args -jar /opt/solr/example/exampledocs/post.jar" -userid:*" java -jar /opt/solr/example/exampledocs/post.jar * .xml

添加a:给出语法错误(与使用NOT相同) java -Ddata = args -jar /opt/solr/example/exampledocs/post.jar&":- userid:*" java -jar /opt/solr/example/exampledocs/post.jar * .xml

SimplePostTool:版本1.4 SimplePostTool:将args发布到 http:// localhost:8983 / solr / update .. SimplePostTool:FATAL:Solr返回错误#400解析Lucene查询时出错 SimplePostTool:版本1.4

删除之前,请确保,标识你指的是串并在没有办法将由两个条款相结合。我将会做这件事是读取数据,从solr从脚本和做一个单中删除或在批次,因为它提供了一个更好的控制和验证了每个ids其减少风险的错误删除 因此 1阅读的数据solr从一个脚本用 /solr/选择/?q=id:A59*

2确认和验证身份证

3删除它们一个接一个或一组10个id一次

关于

拉雅

Mauricio 表示:

使用 - 符号表示要在查询中排除的内容。 以下两个查询将删除除以A59开头的所有文档。

GET http://<url>/solr/<core>/update?stream.body=<delete><query>-id:A59*</query></delete>
GET http://<url>/solr/<core>/update?stream.body=<commit/>

第一行执行删除操作。 第二行执行提交。

在文件前面使用 - 符号表示排除该特定值。它会给出 NOT Equal

等结果

以下是示例url查询字符串所在的位置。我保留了“&amp; fq = -HQ_City_Code:MEL ”,

它会跳过所有 HQ_City_Code MEL 的结果。

http://localhost:8983/solr/HQ_SOLR_Hotels/select?q=*:*&fq=HQ_National_Code:TH&fq=HQ_TYPE:hotel_EN&fq=HQ_Country_Code:AU&**fq=-HQ_City_Code:MEL**&wt=json&indent=true
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top