Solr 인덱스 및 검색 결과를 파이썬으로 처리하는 방법

Solr은 오픈 소스 검색 플랫폼으로, 대용량의 데이터를 빠르고 정확하게 검색할 수 있게 해주는 기능을 제공합니다. 파이썬은 다양한 라이브러리를 통해 Solr와 통신하고 데이터를 처리할 수 있습니다. 본 포스트에서는 Solr 인덱스를 생성하고 파이썬을 사용하여 검색 결과를 처리하는 방법에 대해 알아보겠습니다.

Solr 인덱스 생성

먼저, Solr에 데이터를 저장할 인덱스를 생성해야 합니다. Solr 인덱스는 스키마 파일을 통해 정의되며, 필드의 유형과 설정을 지정할 수 있습니다. 아래는 기본적인 스키마 파일의 예시입니다.

<?xml version="1.0" encoding="UTF-8"?>
<schema name="example" version="1.6">
  <fields>
    <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
    <field name="title" type="text_general" indexed="true" stored="true" multiValued="false" />
    <field name="content" type="text_general" indexed="true" stored="false" multiValued="true" />
  </fields>
  <uniqueKey>id</uniqueKey>
</schema>

위 예시에서는 id, title, content 필드를 정의하고 있습니다. id 필드는 문자열 타입이며, 필수로 입력되어야 하며, unique한 값을 가져야 합니다. titlecontent 필드는 텍스트 타입입니다. content 필드는 다중 값으로 지정되어 있습니다.

위 스키마 파일을 기반으로 Solr 인덱스를 생성합니다. 이후에는 Solr 서버에서 데이터를 추가하고 검색할 수 있습니다.

파이썬에서 Solr 검색 결과 처리

Solr에 데이터를 추가한 후, 파이썬을 사용하여 Solr 검색 결과를 처리할 수 있습니다. 파이썬에서 Solr와 통신하기 위해 solrpy 라이브러리를 사용할 수 있습니다. 아래는 간단한 예제 코드입니다.

from solr import Solr

# Solr 서버 연결
solr = Solr('http://localhost:8983/solr')

# 검색 쿼리 실행
response = solr.query('title:Solr')

# 검색 결과 출력
for result in response.results:
    print(result['id'], result['title'])

위 코드에서는 Solr 클래스 인스턴스를 생성하여 Solr 서버에 연결합니다. query 메소드를 사용하여 검색 쿼리를 실행하고, results 속성을 통해 검색 결과를 가져올 수 있습니다. 이후에는 검색 결과를 원하는 방식으로 처리할 수 있습니다.

마무리

이를 통해, Solr 인덱스를 생성하고 파이썬을 사용하여 Solr 검색 결과를 처리하는 방법을 알아보았습니다. Solr과 파이썬의 조합은 데이터 검색 및 처리에 있어 강력한 도구가 될 수 있습니다. 추가적인 기능이나 더 복잡한 작업을 위해서는 Solr 및 파이썬 라이브러리의 공식 문서를 참고하는 것을 추천합니다.

#Solr #Python