Uncategorized No Comments

elasticsearch 검색 예제

Elasticsearch 클러스터를 검색하는 가장 쉬운 방법은 URI 검색을 사용하는 것입니다. q 쿼리 매개 변수를 사용하여 Elasticsearch에 간단한 쿼리를 전달할 수 있습니다. 다음 쿼리는 “travis”와 같은 이름 필드를 가진 문서에 대 한 전체 클러스터를 검색 합니다.: Lucene 구문을 사용하면 매우 인상적인 검색을 만들 수 있습니다. 일반적으로 공백과 같은 문자를 URL-인코딩해야 합니다(명확성을 위해 이러한 예제에서는 생략됨): Elasticsearch에서 다양한 쿼리 유형을 설명하기 위해 제목, 작성자, 요약, 릴리스 날짜 및 리뷰 수를 볼 수 있습니다. 요청 본문 검색은 다양한 요소가 포함된 JSON 문서를 사용하여 Elasticsearch 클러스터에서 검색을 만듭니다. 검색 조건을 지정할 수 있을 뿐만 아니라 다시 예상하는 문서의 범위와 수, 원하는 필드 및 기타 다양한 옵션을 지정할 수도 있습니다. 위의 예제는 단순히 _source 필드를 줄입니다. 여전히 _source라는 하나의 필드만 반환하지만 그 안에는 필드 account_number 및 잔액만 포함됩니다. 이제 Elasticsearch가 실행되고 있으므로 다른 터미널 창을 열고 Kibana를 실행하고 디렉토리로 이동하여 $ ./kibana 또는 Homebrew로 터미널에서 $ 키바나를 입력합니다. PUT 명령을 사용하면 Elasticsearch에 새 문서 데이터를 삽입할 수 있습니다. 콘솔에서 다음 코드를 입력하고 녹색 재생 버튼을 누르고 결과를 확인합니다.

Elasticsearch의 버전 2 이후 필터와 쿼리가 병합되었으며 모든 쿼리 절을 필터 또는 쿼리로 사용할 수 있습니다(컨텍스트에 따라 다름). 버전 1과 마찬가지로 필터는 캐시되며 점수 매기기는 중요하지 않은 경우 사용해야 합니다. 검색은 와일드카드가 없으면 검색되지 않습니다. * 문자를 여러 문자 와일드카드 또는 ? 단일 문자 와일드카드의 문자: Elasticsearch는 JSON 문서 파일과 함께 작동합니다. 내부 구조를 사용하여 거의 실시간으로 데이터를 구문 분석하여 필요한 정보를 검색할 수 있습니다. bool 쿼리를 사용하는 경우 필터 절을 사용하여 쿼리 결과를 필터링할 수 있습니다. 예를 들어 제목이나 요약에 “Elasticsearch”라는 용어가 있는 책을 쿼리하고 있지만 리뷰가 20개 이상인 책으로만 결과를 필터링하려고 합니다. 텍스트 범위(예: A ~ Z), 숫자 범위(10-20) 및 날짜(ElasticSearch는 날짜를 ISO 8601 형식으로 변환하므로 1900-01-01에서 1920-02-03)로 검색할 수 있습니다. 다중 인덱스 구문을 지원하여 모든 검색 API를 여러 인덱스에 적용할 수 있습니다. 예를 들어 트위터 인덱스 내의 모든 문서를 검색할 수 있습니다: Elasticsearch는 ELK 스택의 일부이며 아파치의 검색 라이브러리인 Lucene에 빌드되어 Lucene의 쿼리 구문을 노출합니다. Elasticsearch의 이러한 필수적인 부분으로 Elasticsearch 클러스터의 루트를 쿼리할 때 Lucene 버전을 알려줍니다: URI 검색을 사용자 지정할 수 있는 여러 가지 옵션을 사용할 수 있습니다., 특히 어떤 분석기를 사용 하는 측면에서 ( 분석기), 쿼리가 내결함성(관대)이어야 하는지 여부 및 점수 매기기설명이 제공되어야 하는지 여부(설명).