是否可以使用 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());
}
Run Code Online (Sandbox Code Playgroud)
请注意我使用的是 4.10.2 版本的 SolrJ。
谢谢,
湿婆库马尔 SS
归档时间: |
|
查看次数: |
1887 次 |
最近记录: |