0
我是Solr的新手。 我想知道如何使用Solrj索引整數數組或整數向量,並查詢索引上的整數數組。 謝謝。Solr:如何使用Solrj索引和查詢整型數組?
我是Solr的新手。 我想知道如何使用Solrj索引整數數組或整數向量,並查詢索引上的整數數組。 謝謝。Solr:如何使用Solrj索引和查詢整型數組?
首先在schema.xml中創建一個多值「int」類型字段(說「intarray」)。您可以有以下字段定義。
<field name="intarray" type="int" indexed="true" stored="true" multiValued="true"/>
請嘗試下面的代碼片段將數據索引到您的Solr中。更改該值並運行該程序以將多個整數數據編入相同的字段。
SolrServer solr = new HttpSolrServer("http://localhost:8983/solr");
SolrInputDocument document = new SolrInputDocument();
Map<String, Integer> partialUpdate = new HashMap<String, Integer>();
partialUpdate.put("add", 100);
document.addField("id", "10000");
document.addField("intarray", partialUpdate);
solr.add(document);
solr.commit();
要進行查詢,請嘗試下面的代碼片段。
SolrServer solr = new HttpSolrServer("http://localhost:8983/solr");
SolrQuery query = new SolrQuery();
query.setQuery("intarray:100");
query.setStart(0);
QueryResponse response = solr.query(query);
SolrDocumentList results = response.getResults();
for (int i = 0; i < results.size(); ++i) {
System.out.println(results.get(i));
}
希望這會有所幫助。
如果我索引一個像「100 1000」這樣的字符串,並且查詢「100」,結果會不同於您使用的結果? –
也可以將查詢設置爲:query.setQuery(「intarray:100 10000」) –
請參閱您不能將字符串值設置爲整數類型字段。您必須在schema.xml中創建單獨的字符串類型singlevalued/multivalued字段。 – buddy86