파이썬으로 Solr에 데이터 색인 및 업데이트 수행하기

Solr은 오픈 소스 검색 플랫폼으로, 대량의 데이터를 색인하고 검색하는 데 사용됩니다. 파이썬을 사용하여 Solr에 데이터를 색인하고 업데이트하는 방법을 알아보겠습니다.

SolrPy 라이브러리 설치

먼저, Solr에 데이터를 연동하기 위해 SolrPy라는 파이썬 라이브러리를 설치해야 합니다. 다음 명령어로 설치할 수 있습니다.

pip install solrpy

Solr 서버에 연결하기

SolrPy 를 사용하여 Solr 서버에 연결하는 코드는 다음과 같습니다.

import solr

# Solr 서버의 URL
url = 'http://localhost:8983/solr'

# Solr 서버에 연결
conn = solr.SolrConnection(url)

Solr 서버의 URL은 실제 설정에 맞게 바꿔야 합니다.

데이터 색인하기

데이터를 Solr에 색인하기 위해서는 JSON 형식으로 데이터를 변환하고, Solr 서버에 추가하는 작업을 수행해야 합니다. 예를 들어, 다음과 같은 코드로 데이터를 색인할 수 있습니다.

# 데이터 추가
data = {'id': '1', 'title': '첫 번째 문서', 'content': 'SolrPy로 데이터 색인하기'}
conn.add(data)

# 변경 사항을 Solr 서버에 반영
conn.commit()

위 코드에서 data는 JSON 형식의 데이터이며, add() 메서드를 사용하여 데이터를 추가합니다. commit() 메서드를 호출하여 변경 사항을 Solr 서버에 적용합니다.

데이터 업데이트하기

Solr에 있는 기존 데이터를 업데이트하기 위해서는 데이터의 id를 사용하여 해당하는 문서를 찾고, 변경 사항을 적용해야 합니다. 예를 들어, 다음과 같이 코드를 작성할 수 있습니다.

# 업데이트할 문서의 id
doc_id = '1'

# Solr 서버에서 해당하는 문서 가져오기
response = conn.query(f'id:{doc_id}')

# 문서 내용 변경
updated_data = response.results[0]
updated_data['content'] = 'SolrPy로 데이터 업데이트하기'

# 변경 사항을 Solr 서버에 반영
conn.add(updated_data)
conn.commit()

위 코드에서는 query() 메서드를 사용하여 id 필드를 기준으로 문서를 가져오고, 변경된 내용을 add() 메서드로 업데이트합니다. 마지막으로 commit() 메서드를 호출하여 변경 사항을 Solr 서버에 적용합니다.

마무리

이렇게 파이썬을 사용하여 Solr에 데이터를 색인하고 업데이트하는 방법을 알아보았습니다. SolrPy 라이브러리를 통해 간편하게 Solr 서버와 연동할 수 있으며, 데이터의 색인과 업데이트 과정을 간단하게 수행할 수 있습니다.

#python #solr