1
是否可以使用SolrJ客戶端從某個Core檢索所有存儲的字段?如何使用SolrJ從Core檢索所有存儲的字段
例如<field name="author" type="string" stored="true" indexed="true"/>
謝謝, 彼得
是否可以使用SolrJ客戶端從某個Core檢索所有存儲的字段?如何使用SolrJ從Core檢索所有存儲的字段
例如<field name="author" type="string" stored="true" indexed="true"/>
謝謝, 彼得
你能得到關於使用SolrJ客戶的特定核心領域的信息。
使用下面的代碼片段來檢索。
import java.util.ArrayList;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
SolrServer solrCore = new HttpSolrServer("http://{host:port}/solr/core-name");
SolrQuery query = new SolrQuery();
query.add(CommonParams.QT, "/schema/fields");
QueryResponse response = solrCore.query(query);
NamedList responseHeader = response.getResponseHeader();
ArrayList<SimpleOrderedMap> fields = (ArrayList<SimpleOrderedMap>) response.getResponse().get("fields");
for (SimpleOrderedMap field : fields) {
Object fieldName = field.get("name");
Object fieldType = field.get("type");
Object isIndexed = field.get("indexed");
Object isStored = field.get("stored");
// you can use other attributes here.
System.out.println(field.toString());
}
請注意我使用SolrJ的4.10.2版本。
感謝,
溼婆庫馬爾SS
親愛的溼婆,感謝您的幫助!願上帝保佑你 ! – Peter 2014-11-20 21:40:04