Elasticsearch를 직접 체험하려면 당사의 샘플 노트북을 살펴보거나, 무료 클라우드 체험판을 시작하거나, 지금 바로 로컬 기기에서 Elastic을 사용해 보세요.
최근에 Apache 2 라이선스에 따라 게시된 루비 보석( elastic-esql)을 출시했습니다. 이 보석을 사용하면 관용적 Ruby로 Elastic의 ES|QL 쿼리를 빌드한 다음 ES|QL 쿼리 API와 함께 사용할 수 있습니다. ES|QL을 사용하면 개발자가 쿼리를 통해 Elasticsearch에 저장된 데이터를 필터링, 변환, 분석할 수 있습니다. "파이프" ( | )를 사용하여 단계별로 데이터를 작업합니다. 이 보석은 대신 Ruby 함수를 사용하며, 이를 원래 객체에 연결하여 더 복잡한 쿼리를 만들 수 있습니다:
ESQL:
Ruby:
설치
이 젬은 루비젬스에서 다음을 사용하여 설치할 수 있습니다:
또는 프로젝트의 젬파일에 추가할 수도 있습니다:
사용법
전체 쿼리를 한 번에 빌드하거나 from 또는 row 같은 소스 명령으로 쿼리 개체를 만든 다음 ES|QL 메서드를 체인으로 연결하여 빌드할 수 있습니다.
겜은 to_s 메서드에서 코드를 ES|QL로 변환하므로 ES|QL 쿼리가 출력되거나 문자열로 캐스팅될 때 반환합니다:
각 함수의 ! 등가물을 사용하여 쿼리 객체를 인스턴스화하고 초기 상태를 변경할 수 있습니다:
이 도구는 enrich 및 sort 과 같은 추가 단계를 ES|QL 함수에 연결하는 편리한 방법을 제공합니다. Elastic::ESQL 객체에서 enrich 을 호출하면 on 과 with 을 연결할 수 있습니다:
sort 을 사용한 후 desc, asc, nulls_first, nulls_last 을 쿼리에 연결할 수도 있습니다:
또한 ES|QL 쿼리를 직접 작성하거나 아직 라이브러리에 추가되지 않은 기능을 사용하려는 경우 사용자 정의 문자열을 지원합니다. custom 은 쿼리 끝에 있는 문자열을 결합합니다. 파이프 문자를 추가하지 않고 함수에 전송되는 대로 추가합니다. 나머지 쿼리에는 공백 문자로 결합됩니다.
custom 함수를 연결할 수도 있습니다:
루비 클라이언트와 함께 ES|QL 쿼리 빌더 사용하기
쿼리 빌더는 쿼리 객체를 전송하여 elasticsearch-ruby 및 esql.query API와 함께 직접 사용할 수 있습니다:
Elasticsearch Ruby 클라이언트의 ES|QL 도우미와 함께 사용할 수도 있으며, 자세히 알아보세요:
독립형 도구로서
이 보석은 관용적인 방식으로 ES|QL 쿼리를 작성하는 독립형 도구로 설계되었습니다. 런타임 종속성이 없으므로 공식 Elasticsearch Ruby 클라이언트와 함께 사용하거나 단독으로 사용할 수 있습니다.
생성된 쿼리는 애플리케이션이 Elasticsearch API와 상호 작용하는 모든 방식(Ruby 여부에 관계없이)으로 esql.query API와 함께 사용할 수 있습니다. elastic-esql 으로 쿼리를 작성하면 생성된 문자열을 요청 본문에 query 매개변수로 API에 전송할 수 있습니다.
이전에 인기 있는 Ruby 도구와 함께 Elasticsearch를 사용하는 방법에 대한 글을 쓴 적이 있습니다. 이 보석은 널리 사용되는 모든 Ruby 도구와 함께 ES|QL로 Elasticsearch를 쿼리하는 데 사용할 수 있습니다.
결론
이 라이브러리는 현재 개발 중이며 최종 API는 아직 완성되지 않았습니다. 현재 기술 프리뷰 버전으로 출시되었습니다. 현재 API 또는 일반적인 사용법에 대한 피드백이 있으시면 주저하지 마시고 새 이슈를 개설해 주세요. 루비 ES|QL 쿼리 빌더에 대해 자세히 알아보려면 README를 참조하세요.




