[Elasticsearch] Common Options 활용

Elastic/Elasticsearch 2022. 7. 18. 12:37

공식 문서)

https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html

 

Response Filtering)

https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#common-options-response-filtering

 

_search REST API 사용 시 유용하게 활용이 가능 합니다.

잘 응용해서 사용하세요.

 

결과 내 JSON Result 에서 filter_path 를 통해서 필요한 결과를 parsing 할 수 있습니다.

:

[Elasticsearch] Text Analysis, Performance Aggs.

Elastic/Elasticsearch 2022. 7. 14. 19:32

Aggregation 기능을 이용해서 Text 분석을 하고 싶을 때가 있습니다.

X-pack basic 범위에서 가능 하면 더 좋겠죠.

 

아래 공홈 문서 보시고 참고해 보시면 좋을 것 같습니다.

 

 - Text Analysis
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-categorize-text-aggregation.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-multi-terms-aggregation.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-rare-terms-aggregation.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-significantterms-aggregation.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-significanttext-aggregation.html

- Aggs Performance
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-filter-aggregation.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-filters-aggregation.html

:

[Elasticsearch] Index Template 사용 시 Mapping 정보 오류

Elastic/Elasticsearch 2022. 7. 14. 19:30

사용하다 보면 정말 별거 아닌 건데 눈에 잘 안보일 때가 있습니다.

 

에러 메시지)

"reason"=>"failed to parse field [message] of type [text] in document with id '3UI29IEBerapX-zaQi4L'. 
Preview of field's value: 
...중략...
"caused_by"=>{"type"=>"illegal_state_exception", "reason"=>"Can't get text on a 
START_OBJECT at 1:529"}

 

이런 에러메시지를 접하게 되면 두 눈 크게 뜨고 Template 에서 정의한 type 정보와 실제 들어 오는 값이 잘 매핑이 되어 있는지 확인을 해보시기 바랍니다.

 

모니터는 큰걸로 글자 크기는 크게 해서 보세요. 

:

[Elasticsearch] 8.3.1 에서 설치 시 symlink 변경

Elastic/Elasticsearch 2022. 7. 8. 13:29

8.2.x 까지는 elasticsearch 에 대한 upgrade 를 위해서 symlink 를 이용해서 설치를 했었는데요.

물론 8.3.x 에서도 symlink 를 이용 합니다.

 

다만, 바뀐 부분이 있기 때문에 사전에 인지 하고 사용 하시면 좋습니다.

 

아래 파일을 열어 보시면 

$ vi bin/elasticsearch-env 

...중략...

# now make ES_HOME absolute
ES_HOME=`cd "$ES_HOME"; pwd`

...중략...

이와 같이 추가된 코드를 볼 수 있습니다.

 

그래서 elasticsearch 를 실행해 보면 이전에 symlink 정보로 표시 되던게 이제는 absolute path 로 바뀌어서 표시 되는 걸 ps 로 확인해 보실 수 있습니다.

 

Process 점검 할 때 실수 할 수 있는 부분 이니 알고 넘어 갑시다.

:

[Shell] Bash String Split - tr

ITWeb/개발일반 2022. 5. 24. 12:38

쉘 스크립트 내부에서 문자열을 구분자를 이용해서 분해 하는 방법입니다.

IFS, read 를 이용해서 하는 방법도 있으니 찾아 보시면 되겠습니다.

 

여기서는 tr 을 이용해서 하는 방법에 대해서 가볍게 작성 합니다.

TARGET="1,2,3,4,5"
targets=($(echo $TAGET | tr "," "\n"))
targetSize=${#targets[@]}

for i in "${targets[@]}"
do
  echo $i
done

코드에서 가끔 실수 하는 부분은 

- ($(echo $TARGET | tr "," "\n")) 에서  괄호가 두 번 사용 된다는 건데 가끔 제일 앞에 괄호를 잊고 사용 할 때가 있습니다.

 

: