대머리개발자

[solr9] - 미비된 사항들 정비 2 본문

개발이야기/오픈소스 설치

[solr9] - 미비된 사항들 정비 2

대머리개발자 2024. 3. 19. 16:07
728x90

 

 

1. 정렬

단어 검색어에 대한 정확도 값을 스코어(score)로  가지고 있는다.

해당 값을 기준으로 정렬하면 "정확도에 대한 정렬"이라고 본다.

if(filter.sort.toInt() == 2){
	// 정확도 기준 - 별도 설정 없이 사용할 수 있는 내부 값이다.
    query.addSort("score", SolrQuery.ORDER.desc)
}else{
    query.addSort("regDt", SolrQuery.ORDER.desc)
}

 

 

2. 페이징 처리

query.setStart(filter.pageIndex.toInt())
query.setRows(filter.pageSize.toInt())

 

3. 검색

정확히 value를 검색
query.setQuery("fieldname:value") 

// 물론 검색엔진이 형태소를 분석해서 좀 더 자세히 나온다.

value~ 검색
query.setQuery("fieldname:value*") 

~value~ 검색
query.setQuery("fieldname:*value*") 

범위 검색
query.setQuery("fieldname:[start TO end]")

둘다 존재해야 검색
query.setQuery("fieldname:value1 AND fieldname:value2") 

둘중 하나만 있어도 검색
query.setQuery("fieldname:value1 OR fieldname:value2")

복잡스!!
query.setQuery("(fieldname1:value1 OR fieldname2:value2) AND fieldname3:value3")

 

 

4. 검색내에서 재 검색.

// and조건절과 동일!
query.addFilterQuery("fieldname:value*") 

// 검색 결과의 순서(랭킹)에 영향을 주지 않고 오직 문서의 포함 여부만!!!
728x90

'개발이야기 > 오픈소스 설치' 카테고리의 다른 글

[solr9] 사용자 사전 추가 2  (0) 2024.03.20
[solr9] 사용자 사전 추가  (0) 2024.03.20
[solr9] - 마지막 prod 구축  (0) 2024.03.05
[solr9] - 미비된 사항들 정비  (0) 2024.03.05
[solr9] - 동의어 검색  (0) 2024.02.29