파이썬으로 Solr 인덱스를 생성하고 통계 분석 수행하기

Solr은 오픈 소스 검색 플랫폼으로, 대용량 데이터의 효율적인 검색과 통계 분석을 제공합니다. 이번 글에서는 파이썬을 사용하여 Solr에 인덱스를 생성하고 통계 분석을 수행하는 방법에 대해 알아보겠습니다.

Solr 인덱스 생성하기

Solr에 인덱스를 생성하기 위해 먼저 pysolr 라이브러리를 설치해야 합니다. 아래의 명령을 사용하여 pysolr을 설치할 수 있습니다.

pip install pysolr

설치가 완료되면 다음과 같이 Solr 서버와 연결합니다.

import pysolr

solr = pysolr.Solr('http://localhost:8983/solr/mycollection')

위의 코드에서 'http://localhost:8983/solr/mycollection'은 실제로 사용하는 Solr 서버의 URL을 나타냅니다. 자신의 환경에 맞게 수정하여 사용하세요.

인덱싱할 데이터를 준비한 후에는 다음과 같이 solr.add() 메서드를 사용하여 데이터를 인덱스에 추가할 수 있습니다.

data = [
    {'id': '1', 'title': 'Apple iPhone 12', 'price': '999'},
    {'id': '2', 'title': 'Samsung Galaxy S21', 'price': '899'},
    {'id': '3', 'title': 'Google Pixel 5', 'price': '699'}
]

solr.add(data)

위의 코드에서 data는 인덱스에 추가할 데이터의 리스트입니다. 각 데이터는 딕셔너리 형태로 구성되어 있으며, 필드와 값의 쌍으로 이루어져 있습니다.

통계 분석 수행하기

Solr를 사용하여 통계 분석을 수행하려면 solr.search() 메서드를 사용해야 합니다. 예를 들어, 특정 필드의 값을 기준으로 통계를 계산하려면 다음과 같이 쿼리를 작성할 수 있습니다.

response = solr.search('*:*', **{
    'stats': 'true',
    'stats.field': 'price'
})

위의 코드에서 '*:*'는 모든 문서를 검색하는 쿼리를 나타냅니다. statsstats.field 파라미터를 사용하여 통계 계산 대상 필드를 지정할 수 있습니다.

검색 결과는 response.raw_response['stats']['stats_fields']['price']와 같은 형태로 얻을 수 있습니다. 이를 활용하여 평균, 최대값, 최소값 등의 통계 정보를 추출할 수 있습니다.

마무리

이번 글에서는 파이썬을 사용하여 Solr에 인덱스를 생성하고 통계 분석을 수행하는 방법에 대해 알아보았습니다. Solr의 강력한 검색 및 통계 기능을 활용하여 데이터를 효율적으로 관리하고 분석할 수 있습니다. Solr과 파이썬을 함께 사용하여 다양한 프로젝트에 적용해 보세요.

#Solr #파이썬