繁体   English   中英

使用Solrj调用Solr Scheme API

[英]Calling Solr Scheme API using Solrj

基于文档https://cwiki.apache.org/confluence/display/solr/Schema+API

我想使用Solrj调用Solr Scheme API。 以下是我要从SolrJ调用的curl命令

curl -X POST -H 'Content-type:application/json' --data-binary '{
  "add-field":{
     "name":"sell-by",
     "type":"tdate",
     "stored":true }
}' http://localhost:8983/solr/gettingstarted/schema

有没有办法使用SolrJ打电话?

这应该这样做:

    String urlString = "http://localhost:8983/solr/gettingstarted";
    SolrClient solr = new HttpSolrClient.Builder(urlString).build();


    Map<String, Object> fieldAttributes = new LinkedHashMap<>();
    fieldAttributes.put("name", "sell-by");
    fieldAttributes.put("type", "tdate");
    fieldAttributes.put("stored", true);

    SchemaRequest.AddField addFieldUpdateSchemaRequest =
            new SchemaRequest.AddField(fieldAttributes);
    SchemaResponse.UpdateResponse addFieldResponse = addFieldUpdateSchemaRequest.process(solr);

使用Solr Schema API的其他一些代码示例可以在SchemaTest.java文件中找到。

另一种方法是通过SolrJ中的SchemaAPI (自Solr 5.3起):

CloudSolrClient client = ...;
SchemaRequest request = new SchemaRequest();
SchemaResponse response = request.process(client, "collectionName");
SchemaRepresentation schema = response.getSchemaRepresentation();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM