2017-03-24 3 views
0

Wie kann ich Solrj verwenden Solr abzufragen, um die folgenden api mit:Solrj abfragen solr: dataimport.properties Datei

http://localhost:8983/solr/admin/zookeeper?detail=true&path=%2Fconfigs%2Fmy-search%2Fdataimport.properties

die oben api gibt den Inhalt der dataimport.properties Datei.

{ 
    "znode": { 
    "path": "/configs/my-search/dataimport.properties", 
    "prop": { 
     "version": 186, 
     "aversion": 0, 
     "children_count": 0, 
     "ctime": "Sun Oct 16 10:24:04 UTC 2016 (1476613444895)", 
     "cversion": 0, 
     "czxid": 479, 
     "ephemeralOwner": 0, 
     "mtime": "Fri Mar 24 09:48:50 UTC 2017 (1490348930211)", 
     "mzxid": 31451, 
     "pzxid": 479, 
     "dataLength": 111 
    }, 
    "data": "#Fri Mar 24 09:48:50 UTC 2017\nname.last_index_time=2017-03-24 09\\:48\\:49\nlast_index_time=2017-03-24 09\\:48\\:49\n" 
    }, 
    "tree": [ 
    { 
     "data": { 
     "title": "dataimport.properties", 
     "attr": { 
      "href": "admin/zookeeper?detail=true&path=%2Fconfigs%2Fmy-search%2Fdataimport.properties" 
     } 
     } 
    } 
    ] 
} 

übrigens, mein Solr ist im Cloud-Modus konfiguriert.

Antwort

0

Vorausgesetzt, dass Ihre Solr im Cloud-Modus ausgeführt wird, ist die Datei /configs/my-search/dataimport.properties in Zookeeper.

SolrJ verfügt nicht über eine native API zum einfachen Lesen von Zookeeper.

in die Zookeeper lesen schlage ich vor Gebrauch Apache Curator Framework

String dataPath = "/configs/my-search/dataimport.properties"; 
String connectionString = "zookeeper-ensemble:2181"; 
CuratorFramework client = CuratorFrameworkFactory.newClient(connectionString, new ExponentialBackoffRetry(1000, 3)); 
client.start(); 

byte[] barray = client.getData().forPath(dataPath); 

if (barray != null) { 
    String data = new String(barray); 
    System.out.println(data); 
} 
verwenden