solr 다중 조건 조회
2336 단어 검색 엔진
solution: 검색 조건을 연결하고 실행합니다. ok
키 코드
Query query = new SolrQuery();
// query.set("df", "cname");
// query.setFilterQueries("total:[" + total + " TO " + t2 + "]");
// query.setFilterQueries("no:" + no);
// query.setFilterQueries("address:" + address);
// query.setFilterQueries("dt:" + dt);
// q=1&df=cname&fq=dt:*
StringBuffer str = new StringBuffer();
str.append("cname:" + cname);
str.append(" AND total:[" + total + " TO " + t2 + "]");
str.append(" AND no:" + no);
str.append(" AND address:" + address);
str.append(" AND dt:" + dt);
query.setQuery(str.toString());
System.out.println(query);
// high
query.setHighlight(true);
query.addHighlightField("cname");
query.setHighlightSimplePre("");
query.setHighlightSimplePost("");
// fenye
QueryResponse response = s.query(query);
int count = (int) response.getResults().getNumFound();
PageUtils p = new PageUtils(page, count, pageSize);
query.setStart(p.getPageRecord());
query.setRows(p.getPageSize());
//
QueryResponse response2 = s.query(query);
List list = response2.getBeans(Cont.class);
// System.out.println("list=" + list);
Map>> highlighting = response.getHighlighting();
// System.out.println("high=" + highlighting);
for (Cont cont : list) {
// ,0 ,1 ,2
if (cont.getStatus().equals("1")) {
cont.setStatus(" ");
} else if (cont.getStatus().equals("2")) {
cont.setStatus(" ");
} else if (cont.getStatus().equals("0")) {
cont.setStatus(" ");
}
if (highlighting.get(cont.getId()) == null) {
continue;
}
Map> map = highlighting.get(cont.getId());
if (map.size() == 0 || map == null) {
continue;
}
List list2 = map.get("cname");
String cname2 = cont.getCname();
if (list2.size() > 0 && list2 != null) {
cname2 = list2.get(0);
}
cont.setCname(cname2);
}
// mv
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
elasticsearchnested 삽입 대상 전체 텍스트 검색 및 정렬ES Nested 중첩 유형은 무엇입니까?Elasticsearch에는 다음과 같은 다양한 데이터 유형이 있습니다. 기본 데이터 형식:string 형식.ES 7.x에서string 형식은:text와 키워드로 업그레이드됩...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.