我使用SolrCLoud是搜索具有多个属性的文档。在我的应用程序中,如果查询未指定任何特定字段,我想搜索所有字段,例如term1 AND term2
查询应在所有字段中搜索该组合。
阅读documentation似乎可以为搜索定义默认字段。
我发现examples更改了搜索处理程序的默认构面, 但不是默认搜索字段,而是查询处理程序的默认搜索字段。
有谁知道如何使用Solr API更改QueryHandler中的默认字段?
答案 0 :(得分:1)
您可以使用Java代码更新以下属性。例如您想要更新autoCommit和autoSoftCommit属性。
Map<String, String> props= new HashMap<>();
props.put("solr.autoCommit.maxTime", 10000);
props.put("solr.autoSoftCommit.maxTime", 15000);
StringBuilder command = new StringBuilder("{\"set-property\": {");
for (Map.Entry<String, String> entry: props.entrySet())
{
command.append('"').append(entry.getKey()).append('"').append(':');
command.append(entry.getValue()).append(',');
}
command.setLength(command.length()-1); // remove last comma
command.append("}}");
GenericSolrRequest rq = new GenericSolrRequest(SolrRequest.METHOD.POST, "/config", null);
ContentStream content = new ContentStreamBase.StringStream(command.toString());
rq.setContentStreams(Collections.singleton(content));
rq.process(solrClient);