파이썬으로 PyLucene을 활용한 검색 결과 중심 키워드 추출하기

이 글에서는 파이썬을 사용하여 PyLucene을 활용하여 검색 결과로부터 중심 키워드를 추출하는 방법을 알아보겠습니다.

PyLucene이란?

PyLucene은 자바 기반의 검색 엔진인 Lucene을 파이썬에서 사용할 수 있도록 만든 래퍼 라이브러리입니다. Lucene은 강력한 텍스트 검색 기능을 제공하며, 다양한 프로그래밍 언어에서 사용할 수 있는 라이브러리로 유명합니다.

필요한 패키지 설치

먼저 PyLucene을 사용하기 위해 필요한 패키지를 설치해야 합니다. 아래 명령어를 사용하여 PyLucene을 설치합니다.

pip install PyLucene

검색 결과 중심 키워드 추출

PyLucene을 사용하여 검색 결과로부터 중심 키워드를 추출하는 방법은 다음과 같습니다.

  1. 먼저 PyLucene을 초기화합니다.
import lucene

lucene.initVM()
  1. 검색 인덱스를 열고 검색 쿼리를 실행합니다.
from org.apache.lucene.store import SimpleFSDirectory
from org.apache.lucene.index import DirectoryReader
from org.apache.lucene.search import IndexSearcher
from org.apache.lucene.queryparser.classic import QueryParser

index_dir = "검색 인덱스 디렉토리 경로"
query = "검색 쿼리"

directory = SimpleFSDirectory(File(index_dir))
reader = DirectoryReader.open(directory)
searcher = IndexSearcher(reader)

query_parser = QueryParser("content", analyzer)
parsed_query = query_parser.parse(query)

top_docs = searcher.search(parsed_query, 10)  # 상위 10개의 검색 결과를 가져옴
  1. 검색 결과로부터 중심 키워드를 추출합니다.
from org.apache.lucene.analysis.standard import StandardAnalyzer
from org.apache.lucene.queryparser.classic import MultiFieldQueryParser
from org.apache.lucene.search.highlight import SimpleHTMLFormatter, QueryScorer, Highlighter

analyzer = StandardAnalyzer()

keywords = []

for doc in top_docs.scoreDocs:
    content = searcher.doc(doc.doc).get("content")
    
    highlighter = Highlighter(SimpleHTMLFormatter(), QueryScorer(parsed_query))
    fragment = highlighter.getBestFragment(analyzer, "content", content)
    
    if fragment:
        keywords.append(fragment)

print(keywords)

위 코드에서는 검색 결과의 “content” 필드에서 키워드를 추출하고, 검색 결과의 일부를 하이라이트하여 출력합니다. 이 코드를 활용하여 검색 결과로부터 중심 키워드를 추출할 수 있습니다.

마무리

이번 포스트에서는 파이썬으로 PyLucene을 활용하여 검색 결과로부터 중심 키워드를 추출하는 방법을 알아보았습니다. 이를 활용하여 원하는 키워드를 더욱 효과적으로 분석하고 활용할 수 있습니다. PyLucene은 고성능의 텍스트 검색을 제공하는데, 다양한 프로젝트에서 활용할 수 있을 것입니다.

더 자세한 내용은 PyLucene 공식 문서를 참고하시기 바랍니다. #파이썬 #텍스트검색