1. create index use solrJ
import java.io.IOException;
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.UpdateResponse;
import org.apache.solr.common.SolrInputDocument;
public class SolrTest {
public void test(String userid, String transid, Float age)
{
String urlString = "http://ip:8983/solr";
SolrServer solr = new HttpSolrServer(urlString);
SolrInputDocument document = new SolrInputDocument();
document.addField("transid", transid);
document.addField("id", userid);
document.addField("weight", age);
try {
solr.add(document);
solr.commit();
} catch (SolrServerException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
long start=System.currentTimeMillis();
SolrTest solr=new SolrTest();
solr.test(args[0], args[1],Float.parseFloat(args[2]));
long end=System.currentTimeMillis();
System.out.println(end-start);
}
}
2. search
example data: cvs
id,title,price
id001,t001,11
id002,t002,22
id003,t003,33
id004,t004,44
id005,t005,55
id006,t006,66
id007,t007,77
id008,t008,88
2.1 按照字段检索:
http://ip:8983/solr/collection1/select?q=(id:id001 AND title=t002) OR price:[20 TO 60]
http://ip:8983/solr/collection1/select?q=(title:t* AND price:[30 TO 60])
2.2 聚合函数统计
http://ip:8983/solr/collection1/select?q=(*:*)&stats=true&stats.field=price
http://ip:8983/solr/collection1/select?q=(*:*)&facet=true&facet.pivot=title,price
2.3 排序函数
http://ip:8983/solr/collection1/select?q=(*:*)&stats=true&stats.field=price&sort=price desc