App Search

앱 검색

검색은 사용자 경험을 창조하기도 하고 망가뜨리기도 합니다. 중요한 것은 정확성이 높고 빠른 결과입니다. Elasticsearch는 현재 가장 인기 있는 오픈 소스 검색 엔진입니다. 그 이유는 다음과 같습니다.

Experience app search with Elastic. Learn More

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

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

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

문서, 전자상거래, 위치정보 또는 그래프 등, 검색 기능의 가능성은 무궁무진합니다. 지금 바로 시작하는 법을 확인하세요.

빠른 속도와 확장성을 위해 태어난 엔진입니다

다른 시스템에서는 몇시간 또는 몇분이 걸리던 쿼리를 Elasticsearch에서는 몇 밀리초만에 처리할 수 있습니다. 페타바이트 규모의 데이터를 쉽게 액세스하고 이용할 수 있게 만들고, 텍스트, 숫자, 날짜, IP, 위치정보 데이터를 신속하게 작업할 수 있는 현명한 방법입니다.

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

그리고 이것을 통해 나만의 엔진을 만드세요

Elasticsearch는 앱 검색에 대한 완전한 제어 경험을 제공합니다. 이것은 블랙 박스가 아니라 오픈 소스 검색 엔진입니다.

사용자가 검색 중인 내용, 검색 시기, 다음에 검색할 내용 등에 관한 실시간 이해를 토대로 직접 정확도를 조정하고, 텍스트 분석을 구성하고, 쿼리를 최적화하고, 결과를 향상시킬 수 있습니다.

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

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

(10만 여 명의 든든한 회원으로 구성된 글로벌 커뮤니티 도 있습니다. 우리가 정말 좋아하는 부분입니다.)

									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의 검색 작업은 이것 만이 아닙니다. 더 많은 고객 사례를 살펴보세요.

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

메트릭 데이터가 있습니까? 프록시나 방화벽 로그 데이터입니까? 웹 사이트나 서버 로그 데이터를 봐야 하나요? 이 모든 것들을 Elastic Stack으로 통합하여 더욱 풍부한 검색 사용 사례를 만들어 보세요.

로그분석

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

더 보기

Metrics

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

더 보기

사이트 검색

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

더 보기

보안 분석

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

더 보기

APM

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

더 보기