App Search

앱 검색

검색은 사용자 경험을 향상시키기도 하고 쉽게 무너뜨리기도 합니다. 중요한 것은 신속하고 정확성이 높은 결과입니다. Elasticsearch는 현재 가장 인기 있는 오픈 소스 검색 엔진입니다. 여기 그 이유가 있습니다.

Elastic Swiftype 앱 검색 베타 기능을 소개합니다 시작하기

New Elastic introduces Swiftype App Search with a publicly available beta. Try it Out

여러분은 최근 24시간 이내에 Elastic을 경험하셨습니다

사람들은 인터넷을 통해 모든 것을 검색합니다. 신용카드 영수증부터, 날짜, 식사, 샴푸 브랜드, 귀가 교통편까지, Elasticsearch는 수천 가지 애플리케이션과 Wikipedia, Esri, Intuit, Yelp, Tinder, Dell.com 등의 웹 사이트에 검색 기능을 제공했습니다.

문서, 전자상거래, 위치정보, 그래프 등 검색 기능의 가능성은 무한합니다. 지금 Elastic App Search를 시작하는 방법을 알아보세요.

빠른 속도와 확장성을 위해 태어난 검색 엔진

다른 시스템에서는 몇 분부터 몇 시간까지 소요되던 쿼리 작업을 Elasticsearch에서는 몇 밀리초만에 처리할 수 있습니다. Elasticsearch는 페타바이트 규모의 데이터에 손쉽게 액세하고 텍스트나 숫자, 날짜, IP, 위치정보 같은 데이터를 이용한 작업을 신속히 처리할 수 있도록 지원합니다.

또한 작은 규모로 시작해서 수평적인 확장이 가능하며, 인덱스와 쿼리를 클러스터에 배포하는 방법을 자동으로 관리합니다.

나만의 검색 엔진을 만드세요

Elasticsearch는 앱 검색을 사용자가 완전히 통제할 수 있도록 지원합니다. 이것은 블랙 박스가 아니라 오픈 소스 검색 엔진입니다.

사용자가 검색 중인 내용, 검색 시기, 다음에 검색할 내용 등을 실시간으로 파악하여 정확도를 조정하고 텍스트 분석을 구성하며 쿼리를 최적화하는 작업을 통해 검색 결과를 향상시킵니다.

Elasticsearch는 개발자 친화적인 도구입니다

Elasticsearch는 단순하고 직관적인 쿼리 언어를 제공하며, 표준 RESTful API와 JSON을 사용합니다. 이와 함께 Python, Ruby, .NET, Java, Groovy를 비롯해 다양한 언어 클라이언트를 지원하고 계속 확장해 나가고 있어 프로그래밍 배경에 관계없이 누구나 편리하게 작업할 수 있습니다.

(10만 여 명의 든든한 회원들이 함께하는 글로벌 커뮤니티도 만나 보세요. 오픈소스 커뮤니티는 Elasticsearch의 가장 매력적인 부분 중 하나입니다.)

									curl -H "Content-Type: application/json" -XGET
'http://localhost:9200/social-*/_search' -d '{
  "query": {
    "match": {
      "message": "myProduct"
    }
  },
  "aggregations": {
    "top_10_states": {
      "terms": {
        "field": "state",
        "size": 10
      }
    }
  }
}'
								
									RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(
                    new HttpHost("localhost", 9200, "http")).build());

SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(QueryBuilders.matchAllQuery());            
searchSourceBuilder.aggregation(AggregationBuilders.terms("top_10_states").field("state").size(10));

SearchRequest searchRequest = new SearchRequest();
searchRequest.indices("social-*");
searchRequest.source(searchSourceBuilder);
SearchResponse searchResponse = client.search(searchRequest);
								
									var client = new ElasticClient();

var searchResponse = client.Search<Tweet>(s => s
    .Index("social-*")
    .Query(q => q
        .Match(m => m
            .Field(f => f.Message)
            .Query("myProduct")
        )
    )
    .Aggregations(a => a
        .Terms("top_10_states", t => t
            .Field(f => f.State)
            .Size(10)
        )
    )
);
								
									from elasticsearch import Elasticsearch

esclient = Elasticsearch(['localhost:9200'])
response = esclient.search(
index='social-*',
body={
    "query": {
        "match": {
            "message": "myProduct"
        }
    },
    "aggs": {
        "top_10_states": {
            "terms": {
                "field": "state",
                "size": 10
            }
        }
    }
}
)
								
									var elasticsearch = require('elasticsearch');
var esclient = new elasticsearch.Client({
  host: 'localhost:9200'
});
esclient.search({
  index: 'social-*',
  body: {
    query: {
      match: { message: 'myProduct' }
    },
    aggs: {
      top_10_states: {
        terms: {
            field: 'state',
            size: 10
        }
      }
    }
  }
}
).then(function (response) {
    var hits = response.hits.hits;
}
);
								
									$esclient = Elasticsearch\ClientBuilder::create()
              ->setHosts(["localhost:9200"])
              ->build();
$params = [
'index' => 'social-*',
'body' => [
    'query' => [
        'match' => [ 'message' => 'myProduct' ]
    ],
    'aggs' => [
        'top_10_states' => [
            'terms' => [
                'field' => 'state',
                'size' => 10,
            ]
        ]
    ]
]
];
$response = $esclient->search($params);
								
									use Search::Elasticsearch;

my $esclient = Search::Elasticsearch->new( nodes => 'localhost:9200' );
my $response = $esclient->search(
index => 'social-*',
body => {
        query => {
            match => { message => 'myProduct' }
        },
        aggs => {
            top_10_states => {
                terms => {
                    field => 'state',
                    size => 10
                }
            }
        }
    }
);
								
									require 'elasticsearch'

esclient = Elasticsearch::Client.new

response = esclient.search index: 'social-*', body: {
  query: {
    match: {
      message: 'myProduct'
    }
  },
  aggregations: {
    top_10_states: {
      terms: {
        field: 'state',
        size: 10
      }
    }
  }
}
								

여러분의 동반자가 되어 함께합니다 (Walgreens 성공 사례)

"고객의 시간을 낭비하지 말자"는 미국 판매업체 Walgreens가 고수해 온 신념입니다. Walgreens는 자체 휴대전화 앱으로 구동되던 불편한 전용 검색 솔루션을 Elasticsearch로 교체하여 이 약속을 계속해서 지켜 나갈 수 있었습니다.

Elastic의 검색 솔루션을 이용하는 곳은 Walgreens 뿐만이 아닙니다. 더 많은 고객 사례를 살펴보세요.

앱 검색은 단지 시작일 뿐입니다

메트릭 데이터, 프록시 및 방화벽 로그, 텍스트 문서 등 모든 자료를 Elastic Stack으로 통합하여 검색 범위를 한층 확장하세요.

로그분석

빠르고 확장 가능하며 중단되지 않는 실시간 로깅.

더 보기

Metrics

CPU, 메모리 및 그 외의 다양한 수치 분석.

더 보기

사이트 검색

손쉽게 만들고 추가하는 사이트 검색의 경험.

더 보기

보안 분석

빠르고 확장 가능한 상호 교환형 정보 수색.

더 보기

APM

애플리케이션 성능에 대한 통찰력 강화.

더 보기