我需要使用Java在Apache
Solr中获取索引的总大小。以下代码获取文档总数,但是我正在寻找大小。并通过使用ReplicationHandler,我想我可以得到此链接上某人告诉的索引大小。http://lucene.472066.n3.nabble.com/cheking-
the-size-of-the- index-using-solrj-API-s-
td692686.html,
但是我没有得到索引大小。
BufferedWriter out1 = null;
FileWriter fstream1 = new FileWriter("src/test/resources/solr-document-id-desc.txt");
out1 = new BufferedWriter(fstream1);
ApplicationContext context = null;
context = new ClassPathXmlApplicationContext("application-context.xml");
CommonsHttpSolrServer solrServer = (CommonsHttpSolrServer) context.getBean("solrServer");
SolrQuery solrQuery = new SolrQuery().setQuery("*:*");
QueryResponse rsp = solrServer.query(solrQuery);
//I am trying to use replicationhandler but I am not able to get the index size using statistics. Is there any way to get the index size..?
ReplicationHandler handler2 = new ReplicationHandler();
System.out.println( handler2.getDescription());
NamedList statistics = handler2.getStatistics();
System.out.println("Statistics "+ statistics);
System.out.println(rsp.getResults().getNumFound());
Iterator<SolrDocument> iter = rsp.getResults().iterator();
while (iter.hasNext()) {
SolrDocument resultDoc = iter.next();
System.out.println(resultDoc.getFieldNames());
String id = (String) resultDoc.getFieldValue("numFound");
String description = (String) resultDoc.getFieldValue("description");
System.out.println(id+"~~"+description);
out1.write(id+"~~"+description);
out1.newLine();
}
out1.close();
Any suggestions will be appreciated..
更新代码:
ReplicationHandler handler2 = new ReplicationHandler();
System.out.println( handler2.getDescription());
NamedList statistics = handler2.getStatistics();
System.out.println("Statistics "+ statistics.get("indexSize"));
indexsize与ReplicationHandler中的统计信息一起提供
org.apache.solr.handler.ReplicationHandler
码
public NamedList getStatistics() {
NamedList list = super.getStatistics();
if (core != null) {
list.add("indexSize", NumberUtils.readableSize(getIndexSize()));
}
}
您可以使用URL http://localhost:8983/solr/replication?command=details
,它返回索引大小。
<lst name="details">
<str name="indexSize">26.13 KB</str>
.....
</lst>
不确定它是否可以与ReplicationHandler的实例一起使用,因为它将需要内核和索引的引用。
问题内容: 我正在使用Solr进行索引和搜索。现在,我的新的数据被索引上elasticsearch。如何使用来自Elasticsearch的Solr索引进行组合搜索? 由于Solr和elasticsearch都是基于Apache Lucene 构建的,因此必须有一种方法/插件来使用Elasticsearch的Solr索引,对吗? 我的尝试: 我为此找到了一条河,但是elasticsearch从1.
我有一个整数列表,像list1=(1,2,3)和list2=(0,1)。 我的列表包含清单1和清单2。它可以包含更多,但对于这个例子,我只取了两个列表。 注意,我在一个沉重的calcul中多次调用这个方法,所以awnser应该考虑到这一点。
问题内容: 我人数众多,并且我对前十个值及其每行的索引感兴趣。但是我没有找到一种体面的方式来操纵矩阵。 这是我当前的解决方案,主要思想是逐行处理它们: 这样做不会充分利用的优势。它更像是一种蛮力解决方案。 问题答案: 在这种情况下,我看不到格式的优点是什么。当然,所有非零值都收集在一个数组中,相应的列索引在中。但是它们处于不同长度的块中。这意味着它们不能并行或以数组步幅进行处理。 一种解决方案是将
我有两个数组 它们的长度都是4。City保存每个城市的名称,temp保存每个城市的平均温度。温度中的温度与城市中的城市顺序相同。所以我的问题是,我怎样才能得到temp中最大int的索引?我想打印出来
我在一个包含3000个文档的核心中有一个Solr索引。 我想基于唯一键PaperID修改整个核心中单个字段的值。 有没有人能为我指点一下...最诚挚的问候
问题内容: 我知道方法rdd.firstwfirst(),它为我提供了RDD中的第一个元素。 还有rdd.take(num)方法,它给了我第一个“ num”元素。 但是,是否有可能通过索引获取元素? 谢谢 问题答案: 首先应为RDD建立索引,这应该是可能的。转换提供了稳定的索引,以其原始顺序对每个元素进行编号。 鉴于: 要按索引查找元素,此形式无用。首先,我们需要使用索引作为键: 现在,可以使用P