수색…


설치 및 테스트

지역 개발을 위해 가장 먼저하고 싶은 일은 ElasticSearch를 설치하고 실행 중인지 테스트 해 보는 것입니다. Java를 설치해야합니다. 설치는 매우 간단합니다.

  • Mac OS X : brew install elasticsearch
  • 우분투 : sudo apt-get install elasticsearch

그런 다음 시작하십시오.

  • Mac OS X : brew services start elasticsearch
  • 우분투 : sudo service elasticsearch start

그것을 시험하기 위해, 가장 쉬운 방법은 curl 합니다. 시작하는 데 몇 초가 걸릴 수 있으므로 처음에는 응답을받지 않으면 당황하지 마십시오.

curl localhost:9200

응답 예 :

{
  "name" : "Hydro-Man",
  "cluster_name" : "elasticsearch_gkbonetti",
  "version" : {
    "number" : "2.3.5",
    "build_hash" : "90f439ff60a3c0f497f91663701e64ccd01edbb4",
    "build_timestamp" : "2016-07-27T10:36:52Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.0"
  },
  "tagline" : "You Know, for Search"
}

개발 용 도구 설정

ElasticSearch (ES)를 시작할 때 데이터 탐색에 도움이되는 그래픽 도구가 있으면 좋을 것입니다. elasticsearch-head 라는 플러그인이 바로 그 역할을합니다. 설치하려면 다음을 수행하십시오.

  • ES가 설치된 폴더를 찾으십시오 : ls -l $(which elasticsearch)
  • cd 이 폴더에와 플러그인 설치 바이너리 실행 elasticsearch/bin/plugin -install mobz/elasticsearch-head
  • 브라우저에서 http://localhost:9200/_plugin/head/ 을 엽니 다 http://localhost:9200/_plugin/head/

모든 것이 예상대로 작동하면 데이터를 탐색 할 수있는 멋진 GUI가 있어야합니다.

소개

ElasticSearch에는 잘 문서화 된 JSON API가 있지만 아마도이를 처리하는 라이브러리를 사용하고 싶을 것입니다.

  • Elasticsearch - HTTP API의 공식 저수준 래퍼

  • Elasticsearch-rails - ActiveRecord 또는 Repository 패턴을 사용하여 Rails 모델과 ElasticSearch를 연결하는 데 도움이되는 공식적인 고급 레일 통합

  • Chewy - 매우 인기 있고 논란의 여지가없는 더 나은 문서를 가지고있는 비공식적 인 고수준의 Rails 통합

연결 테스트를 위해 첫 번째 옵션을 사용합니다.

gem install elasticsearch

그런 다음 루비 터미널을 가동 시켜서 시도해보십시오.

require 'elasticsearch'

client = Elasticsearch::Client.new log: true
# by default it connects to http://localhost:9200

client.transport.reload_connections!
client.cluster.health

client.search q: 'test'

검색 킥

신속하게 elasticsearch를 설정하려면 searchkick gem을 사용할 수 있습니다.

gem 'searchkick'

검색하려는 모델에 검색 킥을 추가하십시오.

class Product < ActiveRecord::Base
  searchkick
end

검색 색인에 데이터를 추가하십시오.

Product.reindex

쿼리하려면 다음을 사용하십시오.

products = Product.search "apples"
products.each do |product|
  puts product.name
end

꽤 빨리, elasticsearch 지식이 필요하지 않습니다 ;-)

자세한 내용은 https://github.com/ankane/searchkick을 참조 하십시오.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow