2013년 12월 19일 목요일

Solrconfig Basic Setting

<lib>

solr에서 사용할 외부 라이브러리의 위치를 지정한다.

<dataDir>

Index data를 저장할 위치를 지정한다. Solr Home 아래의 ./data 디렉토리를 기본으로 사용하며, 이외에 다른 곳에 저장할 경우 사용한다.

<indexConfig> section

useCompoundFile
Index 파일의 압축여부를 지정한다. true일 경우 압축을 사용한다. 이경우 index size는 줄어들지만 performance가 감소할 수 있다.

ramBufferSizeMB
색인은 메모리에 색인을 구축하다가 일정 기준이 되면 파일에 write를 하게끔 되어 있으며, 이러한 과정을 반복하면서 색인이 진행된다.
이때 사용될 메모리의 크기를 지정한다. 색인이 지정된 크기에 도달하면 파일에 write한다.

maxBufferedDocs
ramBufferSizeMB와 유사한 기능을 수행하는 것으로서 메모리에서 색인될 수 있는 최대 문서수를 지정한다.
최대 문서수에 도달하면 파일에 write 한다.

mergeFactor
색인 파일은 segment 단위로 구성된다. 메모리에 색인된 내용이 파일에 write 될 경우 하나의 segment가 생성된다.
이러한 segment가 merge되는 기준을 지정한다. default는 10으로 10개의 segment가 생성되면 merge가 수행되어 하나의 segment로 통합된다.

<updateHandler> section

listener
색인 완료단계에서는 commit 또는 optimize 명령이 수행되게 되있다. 이러한 명령 이후에 추가적으로 수행하고자 하는 프로그램 및 스크립트 등을 등록한다.
아래는 간단한 사용예제이다.

<query> section

maxBooleanClauses
일반적으로 query에서 사용되는 최대 색인어의 수를 지정하는 것으로서 주로 wildcard 또는 range query 등이 영향을 받는다.
너무 과도한 질의어로(또는 악의적인 공격) 인한 검색엔진의 오버헤드를 막을 수 있는 방안이 될 수 있다.
검색 query에 사용된 키워드의 수가 이 값을 초과하면 오류가 발생된다. 예를들어 app* 와 같은 질의어의 경우 app로 시작되는 색인어의 개수가 질의어에 포함된 키워드의 총 개수가 된다.

Cache
filterCache : filterquery(fq)나 facet에 사용된 query에 대한 document id의 unordered set을 저장한다.
queryResultCache : query에 일치하는 document id의 ordered list를 cache한다.
documentCache : disk에 저장된 lucene document object(stored fields for each document)를 cache한다. (참고 - http://solr.pl/en/2011/08/29/optimization-document-cache/)

(참고 - http://solr.pl/en/2011/02/07/optimization-filter-cache/)

enableLazyFieldLoading
true로 설정될 경우 query 요청시 fl 파라메터에 없는 field는 lazy load를 사용한다. 즉, 사용자가 요청한 field 만 index로 부터 fetch하여 documentCache에 놓고, 나머지 field는 다음에 요청이 있을 경우에 fetch 한다. large text stored field 와 같은 경우 대부분 필요시에만 요구하기 때문에 이를 사용할 경우 속도가 향상된다.

queryResultWindowSize
이 값은 검색결과를 가져올때 index로 부터 몇개의 document를 fetch 할지를 지정한다.  query 요청시 rows 파라메터에 사용된 값과 관련이 깊으며, queryResultCache의 각 entry마다 저장되는 문서의 수를 결정한다. 사용자가 검색결과에 대해 paging 기능을 많이 사용할 경우 이 값을 크게 설정하면 도움이 된다. 예를들어, 검색결과를 100건씩 보여준다고 가정할때, 만약 사용자가 100건 이후의 결과에 대해서도 조회를 많이 한다면 이 값을 100보다 크게 설정하면 된다.
(참고 - http://solr.pl/en/2011/01/10/optimization-query-result-window-size/)

그 밖에 보다 자세한 사항은 http://wiki.apache.org/solr/SolrConfigXml를 참조한다.

댓글 없음:

댓글 쓰기