字符串间用空格隔开
如上海 杭州
若搜索上海和杭州都匹配的时
String queryStr=option.getQuery();
String[] queryArray=queryStr.split(" ");
int length=queryArray.length;
if(length==1){
Query query = QueryParser.parse(queryStr,Constants.FIELD_NAME_ALL_INFO);
searchQuery.add(query,BooleanClause.Occur.MUST);
}else{
for(int i=0;i<length;i++){
Query query = QueryParser.parse(queryArray[i],Constants.FIELD_NAME_ALL_INFO);
searchQuery.add(query,BooleanClause.Occur.MUST);
}
}
若搜索上海或杭州匹配的时
String queryStr=option.getQuery();
String[] queryArray=queryStr.split(" ");
int length=queryArray.length;
if(length==1){
Query query = QueryParser.parse(queryStr,Constants.FIELD_NAME_ALL_INFO);
searchQuery.add(query,BooleanClause.Occur.MUST);
}else{
BooleanQuery searchone = new BooleanQuery();
for(int i=0;i<length;i++){
BooleanQuery searchtwo = new BooleanQuery();
BooleanQuery searchthree = new BooleanQuery();
Query query = QueryParser.parse(queryArray[i],Constants.FIELD_NAME_ALL_INFO);
searchtwo.add(query,BooleanClause.Occur.MUST);
searchthree.add(searchtwo,BooleanClause.Occur.SHOULD);
searchone.add(searchthree,BooleanClause.Occur.SHOULD);
}
searchQuery.add(searchone,BooleanClause.Occur.MUST);
}