solr
1 drill data by random,eg.&random_123
solrQuery.addSortField("random_"+rand.nextInt(1000),SolrQuery.ORDER.desc);
2 search id not equal to 222
eg.-id:222
3 deleteById(List<String> ids) in solrj
we should delete anything by id As much as possible,using deleteByQuery function may occur some problem.
4 to get facet result we need to set facet and facet.field,also rows=0 is needed
5 if you use dismax to search,you should use q="val" instead of q="title:val"
6 highlight params : &hl=true&hl.fl=title
7 show score params :&fl=score ,useful score will spread out before us when you search some words
8 delete url
update/?stream.body=<delete><id>mm</id></delete>&stream.contentType=text/xml;charset=utf-8&commit=true
9 clear update docs
after we commit docs,we need to use "this.docs.clear()" to clear the queue stored docs
10 optimize
optimizing one time per day is a good choice
11 get all the data which field value's length >0
q=fieldName:["" To *]
12 use underline' can replace the default operator
SolrQuery.setParam("q.op", "OR");
13 use dismax+qf to search instead of default text
14 url complex/analysis/field?q=param to get split words
15 if use mm, %25 is needed after urllink
16 query with q only will get better performance than 'q&fq'
json util
we often use net.sf.json and org.json.simple to help us do explaining,on use we found some string cannot be decoded well by net.sf.json ,
so org.json.simple is good complement .After import org.json we may use JSONParser to change string to JSONObject.
For importing net.sf.json,we may change list object to JSONArray,and decode json text to json object
and then use a function(JSONObject.toBean(jsonObj,className)) to convert jsonObj to class object