1. 분산 검색 엔진 ElasticSearch 전생
5486 단어 Search
Elasticsearch는 최근 몇 년 동안 급속히 발전했기 때문에 다음과 같은 몇 가지에서 알 수 있듯이 Elasticsearch가 받는 관심도가 매우 높다는 것을 알 수 있다.
2012년 11월에 Elasticsearch는 1000만 달러의 융자를 받았다
2013년 02월에 Elasticsearch는 2400만 달러의 융자를 받았다
2013년 초 GitHub는 Solr를 버리고 Elastic Search의 품에 안겨 PB급 검색을 했습니다
Elasticsearch의 장점
실시간 분산 검색 및 분석 엔진
Elasticsearch는 실시간 분포식 검색과 분석 엔진입니다.그것은 당신이 전대미문의 속도로 대규모 데이터를 처리하는 것을 도울 수 있다.Lucene는 현재 가장 선진적이고 효율적인 전 기능 개원 검색 엔진 프레임워크라고 할 수 있지만 Lucene는 하나의 프레임워크일 뿐이다. 그 기능을 충분히 이용하려면 학습 비용이 매우 높아야 한다. 왜냐하면 Lucene은 확실히 매우 복잡하기 때문이다.한편, Elasticsearch는 Lucene를 내부 엔진으로 사용하고 그 기초 위에서 기능이 강한 RESTful API를 봉하여 배후의 복잡한 논리를 이해하지 않아도 검색을 완성할 수 있다.
elasticsearch의 데이터 모델
Elasticsearch의 데이터 모델은 모델의 자유와 데이터베이스가 문서를 대상으로 하는 것에 속한다. Elasticsearch의 모델은 JSON을 바탕으로 JSON을 통해 반구조화된 데이터를 간단하게 나타낼 수 있고 대부분의 프로그래밍 언어는 JSON 데이터의 해석을 우선적으로 지원한다.
모드 매핑(Schema Mapping)
elasticsearch는 패턴이 없습니다. JSON 형식의 문서를 아무렇게나 던지면 ES가 자동으로 색인을 할 수 있습니다.입력한 내용이 숫자나 시간 유형이라면 ES도 자동으로 검출되어 해당하는 처리를 한다.
색인 문서의 필드는 BOOST 값을 설정하여 점수를 매기는 데 영향을 미칠 수 있으며, 다른 분석기(Analyzer)를 사용하여 단어를 어떻게 나누는지 제어할 수 있다. 예를 들어 어떤 필드는 단어를 나누어야 하지만, 어떤 필드는 반드시 그렇지는 않다.elasticsearch는 이 규칙들을 완전히 제어하여 최종적으로 JSON 문서를 검색 엔진에 비추도록 합니다.색인(Index) 및 유형(Type) 레벨별로 설정할 수 있습니다.
예:
//
$ curl -XPUT http://localhost:9200/qixing318
// Mapping
$ curl -XPUT http://localhost:9200/qixing318/user/_mapping -d '{
"properties" : {
"name" : { "type" : "string" }
}
}'
데이터 가져오기(GETting Some Data)
모든 색인 문서는 유일한 표지(유형 단계에서)가 있어야 한다. 예를 들어 색인 문서를 업데이트하거나 삭제하거나 색인 데이터를 가져와서 보려는 경우가 많다.
그러면 elasticsearch에 알려주고 문서의 인덱스, 유형, id를 지정하면 실제 인덱스 문서를 가져올 수 있습니다. (이 인덱스 문서는 당신이 인덱스를 만들 때 생성된 JSON 형식의 문서입니다.)
다음 예제에서는 Elasticsearch에서 색인을 만드는 방법을 보여 줍니다.
$ curl -XPUT http://localhost:9200/qixing318/article/2 -d '{
"user": "kimchy",
"post_date": "2009-11-15T14:12:12",
"message": "You know, for Search"
}'
위의 요청 URL 주소는 다음과 같은 세 가지 섹션으로 구분됩니다.
http://localhost:9200
(Host) 시작된 elasticsearch 서비스 호스트 주소, 감청 포트 9200
qixing318
(Index) 색인을 만드는 이름은 qixing318입니다. 물론 사용자의 요구에 따라 색인 이름을 설정할 수 있습니다
article
(Type) 유형
이
(ID) 개체 id 번호, 예를 들어 mysql을 삽입할 때의 주 건식 ID 값
색인이 만들어졌으니 이제 얻을 수 있습니다
$ curl -XGET http://localhost:9200/qixing318/article/2
인덱스 가져오기는qixing318이고 형식은article, id가 2인 문서 데이터입니다. 데이터가 존재하면 해당하는 데이터를 되돌려주고 존재하지 않으면 미스를 되돌려줍니다. 간단하지 않습니까?
문서:http://www.qixing318.com/article/distributed-search-engine-elasticsearch-incarnations.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Elasticsearch] 제어 상관도 (5) - function_score 조회 및 field_value_factor,boost_mode,max_mode 매개 변수function_score 조회는 점수 계산 과정을 처리하는 궁극적인 도구입니다.메인 검색에 일치하는 모든 문서에 함수를 호출하여 원래의 _를 완전히 바꿀 수 있습니다score. 각 문서에 대한 간단한 승급이 적용되...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.