두 개의 필드로 Elasticsearch 검색

다중 일치 쿼리, 부울 쿼리, 쿼리 시간 필드 부스팅 등 두 가지 필드로 검색하는 기술을 살펴봅니다.

Elasticsearch가 처음이신가요? Elasticsearch 입문용 웨비나에 참여하세요. 지금 무료 클라우드 체험을 시작하거나, 내 기기에서 Elastic을 사용해 볼 수 있습니다.

Elasticsearch에서 여러 필드에 걸쳐 검색하는 것은 많은 애플리케이션에서 공통적으로 요구되는 사항입니다. 이 문서에서는 다중 일치 쿼리, 부울 쿼리, 쿼리 시간 필드 부스팅 등 두 가지 필드별로 검색을 수행하는 고급 기술을 살펴봅니다. 이러한 기술은 사용자에게 보다 정확하고 관련성 높은 검색 결과를 제공하는 데 도움이 됩니다.

두 개의 필드로 검색을 수행하는 고급 기술

1. 멀티매치 쿼리

다중 일치 쿼리를 사용하면 여러 필드에서 단일 쿼리 문자열을 검색할 수 있습니다. 이 기능은 두 필드 중 하나에 지정된 쿼리 문자열이 포함된 문서를 찾으려는 경우에 유용합니다. 다음은 '제목' 또는 '설명' 필드에서 'example'라는 용어를 검색하는 다중 검색 쿼리의 예입니다:

2. 부울 쿼리

부울 쿼리를 사용하면 부울 논리를 사용하여 여러 쿼리를 결합할 수 있습니다. "should" 절을 사용하여 두 필드 중 하나에서 쿼리와 일치하는 문서를 검색할 수 있습니다. 다음은 'title' 및 'description' 필드에서 'example'라는 용어를 검색하는 부울 쿼리의 예입니다:

3. 쿼리 시간 필드 부스팅

때로는 검색 중에 한 필드를 다른 필드보다 더 중요하게 생각하고 싶을 수도 있습니다. 쿼리 시점에 필드에 부스트 인자를 적용하여 이를 달성할 수 있습니다. 부스트 값이 높을수록 해당 필드에 더 많은 가중치가 부여되므로 최종 검색 점수에 영향을 미칠 가능성이 높아집니다. 다음은 'title' 필드에 부스트 팩터가 적용된 멀티매치 쿼리의 예입니다:

이 예에서 '제목' 필드의 부스트 계수는 3으로, 검색 점수를 결정하는 데 있어 '설명' 필드보다 3배 더 중요합니다.

4. 다양한 부스트 인자를 가진 쿼리 결합

부울 쿼리를 사용하여 서로 다른 부스트 인자를 가진 여러 쿼리를 결합할 수도 있습니다. 이를 통해 검색 결과에서 각 필드의 중요도를 미세 조정할 수 있습니다. 다음은 'title' 및 'description' 필드에 서로 다른 부스트 인자를 적용한 부울 쿼리의 예입니다:

이 예에서 '제목' 필드의 부스트 계수는 3이고 '설명' 필드의 부스트 계수는 1입니다.

결론

다중 일치 쿼리, 부울 쿼리, 쿼리 시간 필드 부스팅과 같은 고급 기술을 사용하여 Elasticsearch에서 두 필드를 기준으로 검색할 수 있습니다. 이러한 기술을 결합하면 사용자에게 더 정확하고 관련성 높은 검색 결과를 제공할 수 있습니다. 다양한 쿼리 조합과 부스트 인자를 실험하여 특정 사용 사례에 맞는 최적의 검색 구성을 찾아보세요.

관련 콘텐츠

최첨단 검색 환경을 구축할 준비가 되셨나요?

충분히 고급화된 검색은 한 사람의 노력만으로는 달성할 수 없습니다. Elasticsearch는 여러분과 마찬가지로 검색에 대한 열정을 가진 데이터 과학자, ML 운영팀, 엔지니어 등 많은 사람들이 지원합니다. 서로 연결하고 협력하여 원하는 결과를 얻을 수 있는 마법 같은 검색 환경을 구축해 보세요.

직접 사용해 보세요