查询这些文档适用于:"fq=-myfield:[* TO *]"
。
但是如何删除所有这些?似乎删除语法update?stream.body=<delete><query>...
只接受查询,没有过滤器......
答案 0 :(得分:1)
仅在查询代码中传递#include <iostream>
#include <algorithm>
#include <set>
#include <iterator>
int main()
{
std::set<int> s1{ 1, 2, 3, 4 };
std::set<int> s2{ 2, 4, 5 };
std::set<int> s3{ 2, 7, 8 };
std::multiset<int> s4;
std::set_intersection(s1.begin(), s1.end(), s2.begin(), s2.end(),
std::insert_iterator<std::multiset<int>>(s4, s4.begin()));
std::set_intersection(s4.begin(), s4.end(), s3.begin(), s3.end(),
std::insert_iterator<std::multiset<int>>(s4, s4.begin()));
auto max = std::max_element(s4.begin(), s4.end(),
[&s4](int a, int b) { return s4.count(a) < s4.count(b); });
std::cout << "most present == " << *max << '\n';
}
。不要传递Proc SQL
参数。那我觉得它会起作用。一旦我必须删除id字段字符串中包含单词-myfield[* TO *]
的所有文档,我只是在查询标记之间传递了fq
,并且它有效。如果有帮助,请告诉我。
答案 1 :(得分:1)
正确答案应该是:-myfield:*
甚至是-myfield:[* TO *]
,但是:
是强制性的。
这是curl的示例:
curl http://localhost:8983/solr/collection/update \
-H "Content-Type: text/xml" \
--data-binary '<delete><query>-myfield:*</query></delete>'