Elasticsearch를 Homebrew로 macOS에 구축
8660 단어 MachomebrewElasticsearch
환경
2020/10/2
Elasticsearch7
Homebrew 2.5.2
참고
Install Elasticsearch on macOS with Homebrew | Elasticsearch Reference [7.9] | Elastic
Install
Homebrew에서 설치하려면 먼저 ElasticHomebrew 리포지토리를 탭해야 합니다.
Elastic Homebrew 리포지토리를 탭한 후 brewinstall을 사용하여 Elasticsearch의 기본 배포판을 설치할 수 있습니다.
brew tap elastic/tap
brew install elastic/tap/elasticsearch-full
설정
Elasticsearch에는 세 가지 구성 파일이 있습니다.
Install Elasticsearch on macOS with Homebrew | Elasticsearch Reference [7.9] | Elastic
Install
Homebrew에서 설치하려면 먼저 ElasticHomebrew 리포지토리를 탭해야 합니다.
Elastic Homebrew 리포지토리를 탭한 후 brewinstall을 사용하여 Elasticsearch의 기본 배포판을 설치할 수 있습니다.
brew tap elastic/tap
brew install elastic/tap/elasticsearch-full
설정
Elasticsearch에는 세 가지 구성 파일이 있습니다.
brew tap elastic/tap
brew install elastic/tap/elasticsearch-full
elasticsearch.yml
for configuring Elasticsearch jvm.options
for configuring Elasticsearch JVM settings log4j2.properties
for configuring Elasticsearch logging 이러한 파일은 config 디렉토리에 있습니다.
Homebrew로 설치한 경우
/usr/local/etc/elasticsearch/
에 만들어졌습니다.Config 파일에 대한 설명은 여기에입니다.
동작
설정 파일을 배치하는 폴더를 작성(어디에서도 좋다)
만든 폴더로 이동하여
기본 구성 파일에서 최소한 필요한 파일을 복사합니다.
cp /usr/local/etc/elasticsearch/elasticsearch.yml .
cp /usr/local/etc/elasticsearch/jvm.options .
cp /usr/local/etc/elasticsearch/log4j2.properties .
elasticsearch.yml
elasticsearch.yml의 내용을 다음과 같이 다시 씁니다.
※
your user name
는 적절히 변경한다elasticsearch.yml
cluster:
name: mycluster
node:
name: mynode
network:
host: localhost
path:
data: /Users/your user name/elastic_stack/data/
logs: /Users/your user name/elastic_stack/log/
환경 변수
환경 변수 ES_PATH_CONF에 위에서 만든 폴더를 설정합니다.
※
your user name
는 적절히 변경한다export ES_PATH_CONF=/Users/your user name/elastic_stack/elastic_local
환경 변수 표시
export -p
echo $ES_PATH_CONF
Elasticsearch 시작
elasticsearch 명령으로 시작
elasticsearch
확인
curl http://localhost:9200/
결과
{
"name" : "mynode",
"cluster_name" : "mycluster",
"cluster_uuid" : "2bxVVndhT3qYmc410DSmDA",
"version" : {
"number" : "7.9.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "d34da0ea4a966c4e49417f2da2f244e3e97b4e6e",
"build_date" : "2020-09-23T00:45:33.626720Z",
"build_snapshot" : false,
"lucene_version" : "8.6.2",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
kibana
install
brew install kibana
Kibana 시작
시작
kibana
...省略
==> kibana
Config: /usr/local/etc/kibana/
If you wish to preserve your plugins upon upgrade, make a copy of
/usr/local/opt/kibana/plugins before upgrading, and copy it into the
new keg location after upgrading.
To have launchd start kibana now and restart at login:
brew services start kibana
Or, if you don't want/need a background service you can just run:
kibana
데이터 추가
색인 생성
foo_index
라는 인덱스를 만듭니다.
curl --include -XPUT "http://localhost:9200/foo_index?pretty"
결과
결과{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "foo_index"
}
결과 확인
curl --include -XGET "http://localhost:9200/foo_index?pretty"
결과
결과{
"foo_index" : {
"aliases" : { },
"mappings" : { },
"settings" : {
"index" : {
"creation_date" : "1601883316655",
"number_of_shards" : "1",
"number_of_replicas" : "1",
"uuid" : "KMD3KGVMSNSJEtUEJBT-xg",
"version" : {
"created" : "7090299"
},
"provided_name" : "foo_index"
}
}
}
}
문서 추가
curl --include -XPOST "http://localhost:9200/foo_index/_doc?pretty" \
-H 'Content-Type: application/json' \
-d '{
"foo_user": "Alice",
"foo_message": "The night was young, and so was he. But the night was sweet, and he was sour."
}'
결과
결과HTTP/1.1 201 Created
Location: /foo_index/_doc/i32x93QByjoFzGo__-wj
content-type: application/json; charset=UTF-8
content-length: 242
i32x93QByjoFzGo__-wj
라는 ID가 생성되었습니다.
결과 확인
curl --include -XGET "http://localhost:9200/foo_index/_doc/i32x93QByjoFzGo__-wj?pretty"
결과
결과{
"_index" : "foo_index",
"_type" : "_doc",
"_id" : "i32x93QByjoFzGo__-wj",
"_version" : 1,
"_seq_no" : 0,
"_primary_term" : 1,
"found" : true,
"_source" : {
"foo_user" : "Alice",
"foo_message" : "The night was young, and so was he. But the night was sweet, and he was sour."
}
}
두 번째 문서도 추가
curl --include -XPOST "http://localhost:9200/foo_index/_doc?pretty" \
-H 'Content-Type: application/json' \
-d '{
"foo_user": "ボブ",
"foo_message": "夜は若く、彼も若かった。が、夜の空気は甘いのに、彼の気分は苦かった。"
}'
결과
결과HTTP/1.1 201 Created
Location: /foo_index/_doc/jH2193QByjoFzGo_t-w7
content-type: application/json; charset=UTF-8
content-length: 242
결과 확인
curl --include -XGET "http://localhost:9200/foo_index/_doc/jH2193QByjoFzGo_t-w7?pretty"
결과
결과{
"_index" : "foo_index",
"_type" : "_doc",
"_id" : "jH2193QByjoFzGo_t-w7",
"_version" : 1,
"_seq_no" : 1,
"_primary_term" : 1,
"found" : true,
"_source" : {
"foo_user" : "ボブ",
"foo_message" : "夜は若く、彼も若かった。が、夜の空気は甘いのに、彼の気分は苦かった。"
}
}
데이터의 전체 텍스트 검색
foo_message 필드에 "밤의 공기"가 포함된 문서를 검색하는 쿼리를 실행합니다.
curl --include -XGET "http://localhost:9200/foo_index/_search?pretty" \
-H 'Content-Type: application/json' \
-d '
{
"query": {
"match": {
"foo_message": "夜の空気"
}
}
}'
결과
결과{
"took" : 3,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 1,
"relation" : "eq"
},
"max_score" : 3.4337347,
"hits" : [
{
"_index" : "foo_index",
"_type" : "_doc",
"_id" : "jH2193QByjoFzGo_t-w7",
"_score" : 3.4337347,
"_source" : {
"foo_user" : "ボブ",
"foo_message" : "夜は若く、彼も若かった。が、夜の空気は甘いのに、彼の気分は苦かった。"
}
}
]
}
}
참고
Elasticsearch 7을 macOS에 구축하여 전체 텍스트 검색하기 - Qiita
Configuring Elasticsearch | Elasticsearch Reference [master] | Elastic
Reference
이 문제에 관하여(Elasticsearch를 Homebrew로 macOS에 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sugasaki/items/2cdefa3787e962095d19
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
brew install kibana
kibana
...省略
==> kibana
Config: /usr/local/etc/kibana/
If you wish to preserve your plugins upon upgrade, make a copy of
/usr/local/opt/kibana/plugins before upgrading, and copy it into the
new keg location after upgrading.
To have launchd start kibana now and restart at login:
brew services start kibana
Or, if you don't want/need a background service you can just run:
kibana
색인 생성
foo_index
라는 인덱스를 만듭니다.curl --include -XPUT "http://localhost:9200/foo_index?pretty"
결과
결과
{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "foo_index"
}
결과 확인
curl --include -XGET "http://localhost:9200/foo_index?pretty"
결과
결과
{
"foo_index" : {
"aliases" : { },
"mappings" : { },
"settings" : {
"index" : {
"creation_date" : "1601883316655",
"number_of_shards" : "1",
"number_of_replicas" : "1",
"uuid" : "KMD3KGVMSNSJEtUEJBT-xg",
"version" : {
"created" : "7090299"
},
"provided_name" : "foo_index"
}
}
}
}
문서 추가
curl --include -XPOST "http://localhost:9200/foo_index/_doc?pretty" \
-H 'Content-Type: application/json' \
-d '{
"foo_user": "Alice",
"foo_message": "The night was young, and so was he. But the night was sweet, and he was sour."
}'
결과
결과
HTTP/1.1 201 Created
Location: /foo_index/_doc/i32x93QByjoFzGo__-wj
content-type: application/json; charset=UTF-8
content-length: 242
i32x93QByjoFzGo__-wj
라는 ID가 생성되었습니다.결과 확인
curl --include -XGET "http://localhost:9200/foo_index/_doc/i32x93QByjoFzGo__-wj?pretty"
결과
결과
{
"_index" : "foo_index",
"_type" : "_doc",
"_id" : "i32x93QByjoFzGo__-wj",
"_version" : 1,
"_seq_no" : 0,
"_primary_term" : 1,
"found" : true,
"_source" : {
"foo_user" : "Alice",
"foo_message" : "The night was young, and so was he. But the night was sweet, and he was sour."
}
}
두 번째 문서도 추가
curl --include -XPOST "http://localhost:9200/foo_index/_doc?pretty" \
-H 'Content-Type: application/json' \
-d '{
"foo_user": "ボブ",
"foo_message": "夜は若く、彼も若かった。が、夜の空気は甘いのに、彼の気分は苦かった。"
}'
결과
결과
HTTP/1.1 201 Created
Location: /foo_index/_doc/jH2193QByjoFzGo_t-w7
content-type: application/json; charset=UTF-8
content-length: 242
결과 확인
curl --include -XGET "http://localhost:9200/foo_index/_doc/jH2193QByjoFzGo_t-w7?pretty"
결과
결과
{
"_index" : "foo_index",
"_type" : "_doc",
"_id" : "jH2193QByjoFzGo_t-w7",
"_version" : 1,
"_seq_no" : 1,
"_primary_term" : 1,
"found" : true,
"_source" : {
"foo_user" : "ボブ",
"foo_message" : "夜は若く、彼も若かった。が、夜の空気は甘いのに、彼の気分は苦かった。"
}
}
데이터의 전체 텍스트 검색
foo_message 필드에 "밤의 공기"가 포함된 문서를 검색하는 쿼리를 실행합니다.
curl --include -XGET "http://localhost:9200/foo_index/_search?pretty" \
-H 'Content-Type: application/json' \
-d '
{
"query": {
"match": {
"foo_message": "夜の空気"
}
}
}'
결과
결과{
"took" : 3,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 1,
"relation" : "eq"
},
"max_score" : 3.4337347,
"hits" : [
{
"_index" : "foo_index",
"_type" : "_doc",
"_id" : "jH2193QByjoFzGo_t-w7",
"_score" : 3.4337347,
"_source" : {
"foo_user" : "ボブ",
"foo_message" : "夜は若く、彼も若かった。が、夜の空気は甘いのに、彼の気分は苦かった。"
}
}
]
}
}
참고
Elasticsearch 7을 macOS에 구축하여 전체 텍스트 검색하기 - Qiita
Configuring Elasticsearch | Elasticsearch Reference [master] | Elastic
Reference
이 문제에 관하여(Elasticsearch를 Homebrew로 macOS에 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sugasaki/items/2cdefa3787e962095d19
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
curl --include -XGET "http://localhost:9200/foo_index/_search?pretty" \
-H 'Content-Type: application/json' \
-d '
{
"query": {
"match": {
"foo_message": "夜の空気"
}
}
}'
{
"took" : 3,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 1,
"relation" : "eq"
},
"max_score" : 3.4337347,
"hits" : [
{
"_index" : "foo_index",
"_type" : "_doc",
"_id" : "jH2193QByjoFzGo_t-w7",
"_score" : 3.4337347,
"_source" : {
"foo_user" : "ボブ",
"foo_message" : "夜は若く、彼も若かった。が、夜の空気は甘いのに、彼の気分は苦かった。"
}
}
]
}
}
Elasticsearch 7을 macOS에 구축하여 전체 텍스트 검색하기 - Qiita
Configuring Elasticsearch | Elasticsearch Reference [master] | Elastic
Reference
이 문제에 관하여(Elasticsearch를 Homebrew로 macOS에 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sugasaki/items/2cdefa3787e962095d19텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)