유사도=ES
Elasticsearch에서 Stop Word Analyzer
는 기본적으로 다음과 같은 과정을 통해 텍스트를 처리합니다:
Elasticsearch의 기본 Stop Word Analyzer
는 여러 언어에 대해 미리 정의된 불용어 목록을 제공하며, 사용자는 필요한 경우 이 목록을 커스터마이징할 수 있습니다. 예를 들어, 한국어에 맞게 불용어 목록을 설정하거나, 특정한 비즈니스 도메인에 맞게 추가적인 단어를 불용어로 지정할 수도 있습니다.
예를 들어, 영어에서 불용어를 설정하는 경우, 다음과 같은 설정을 할 수 있습니다:
json
코드 복사
PUT /my_index
{
"settings": {
"analysis": {
"analyzer": {
"custom_stop_analyzer": {
"type": "stop",
"stopwords": "_english_" // 영어 불용어 목록 사용
}
}
}
}
}
위의 설정에서는 _english_
로 미리 정의된 영어 불용어 목록을 사용하지만, 아래와 같이 커스텀 불용어 목록을 직접 정의할 수도 있습니다.
json
코드 복사
PUT /my_index
{
"settings": {
"analysis": {
"analyzer": {
"custom_stop_analyzer": {
"type": "stop",
"stopwords": ["the", "is", "at", "which", "on"]
}
}
}
}
}
이 Stop Word Analyzer
는 텍스트의 노이즈를 줄이고 검색의 관련성을 높이기 위한 중요한 역할을 하므로, 문서의 내용과 검색어의 특성에 따라 잘 설정하는 것이 Elasticsearch의 성능을 극대화하는 데 도움이 됩니다.
데이터베이스에서 **시노님(Synonym)**은 서로 다른 단어이지만 같은 의미를 가지거나 유사한 의미로 간주할 수 있는 단어들을 매핑하여 검색의 정확성을 높이는 방법입니다. 예를 들어, 사용자가 특정 단어로 검색을 했을 때 이 단어와 연관된 다른 단어들도 함께 검색에 포함시키고자 할 때 시노님을 설정합니다.