Elasticsearch API를 emacs buffer에서 호출
3254 단어 es-modeElasticsearchEmacs
Kibana의 DevTools에서 쿼리를 실행하는 것과 동일한 것을 emacs에서 실행하는 이야기입니다.
소개
elastic emacs라는 키워드로 구글 검색을 하면 상위에 Classmethod 씨의 인터뷰 기사가 나옵니다.
Elastic의 사람들에게 물어 보았습니다 (개발 팀 편)
이 가운데 개발 환경에 대해서는 이렇게 많습니다.
CM 「개발 툴에는 어떤 것을 이용하고 있습니까?」
Ryan씨 「에디터는 IntelliJ, Eclipse를 이용하고 있는 멤버가 많다. 그 중에는 Emacs 사용도 있다. Emacs 사용은 개발 뿐만이 아니라, 메일등의 업무도 모두 Emacs로 해내고 있다(웃음)」
emacs로 메일을 읽고 쓰는 나는 매우 친근감을 느낍니다 (웃음).
한화휴제
Elastic Stack은 오픈 소스 프로젝트이므로 github에서 소스 코드를 게시합니다.
시험에 elastic/elasticsearch 를 보면(자), 맨 위의 디렉토리에 .dir-locals.el 라는 파일이 있어, emacs 의 java-mode 의 커스터마이즈가 설정되어 있습니다. 어쩌면 인터뷰에서 화제가 되고 있던 쪽이, 이 파일의 주인 것이 아닌가와 마음대로 상상하고 있습니다. dakrone 님의 리포지토리에는 elasticsearch를 emacs에서 조작하는 es-mode가 공개되어 있습니다. (고맙습니다 ~)
본편
전치가 길었지만 본편은 짧습니다.
An Emacs major mode for interacting with Elasticsearch
이 es-mode를 emacs에 추가하면 Kibana의 Dev Tools에서 쿼리를 작성하고 실행하도록 emacs buffer에서 RestAPI를 실행할 수 있습니다.
이런 식으로 ↓ Elasticsearch 쿼리를 파일에 열거하고 실행하려는 쿼리 위에 커서를 놓고 거기에서 Ctrl-c를 두 번 누르면 결과 json이 다른 buffer에 표시됩니다.
Kibana의 DevTools에 비해 어떤 이점이 있습니까? 라고 자문 자답해 보면,
쿼리를 파일에 저장해두면 DevTools에 복사하지 않고도 즉시 실행할 수 있고 편집기 안에서 완결되어 있다는 것일까요?
org-mode
또한 emacs에는 org-mode라는 고유 한 markdown 메커니즘 (모드)이 있습니다. es-mode가 설정된 상태에서 org-mode 내에서 쿼리를 실행하면 같은 파일의 RESULTS라는 블록이 생성되어 거기에 결과를 반환합니다.
검색 쿼리와 그 결과를 기록해 두고 싶은 경우는 org-mode 안에서 es-mode 를 사용하는 편이 편리할 것입니다.
↑의 gif에도 나와 있습니다만, json 의 결과를 jq 로 처리한 것을 RESULTS 로 취득할 수도 있습니다.
#+BEGIN_SRC es :jq ._source.title
GET demo/doc/1?pretty
#+END_SRC
#+RESULTS
: "hello elastic"
es-mode 설정 정보
공식 README 을 참조하십시오.
그럼에도 불구하고 emacs 버전이나 환경에 따라 잘 설정되지 않을 수 있습니다. 시험으로 es-mode 사용하기 위한 Dockerfile 를 만들어 보았습니다. 컨테이너 속에서 움직이고 있는 emacs이므로, 이하의 2점에 주의해 주세요.
Elastic Stack은 오픈 소스 프로젝트이므로 github에서 소스 코드를 게시합니다.
시험에 elastic/elasticsearch 를 보면(자), 맨 위의 디렉토리에 .dir-locals.el 라는 파일이 있어, emacs 의 java-mode 의 커스터마이즈가 설정되어 있습니다. 어쩌면 인터뷰에서 화제가 되고 있던 쪽이, 이 파일의 주인 것이 아닌가와 마음대로 상상하고 있습니다. dakrone 님의 리포지토리에는 elasticsearch를 emacs에서 조작하는 es-mode가 공개되어 있습니다. (고맙습니다 ~)
본편
전치가 길었지만 본편은 짧습니다.
An Emacs major mode for interacting with Elasticsearch
이 es-mode를 emacs에 추가하면 Kibana의 Dev Tools에서 쿼리를 작성하고 실행하도록 emacs buffer에서 RestAPI를 실행할 수 있습니다.
이런 식으로 ↓ Elasticsearch 쿼리를 파일에 열거하고 실행하려는 쿼리 위에 커서를 놓고 거기에서 Ctrl-c를 두 번 누르면 결과 json이 다른 buffer에 표시됩니다.
Kibana의 DevTools에 비해 어떤 이점이 있습니까? 라고 자문 자답해 보면,
쿼리를 파일에 저장해두면 DevTools에 복사하지 않고도 즉시 실행할 수 있고 편집기 안에서 완결되어 있다는 것일까요?
org-mode
또한 emacs에는 org-mode라는 고유 한 markdown 메커니즘 (모드)이 있습니다. es-mode가 설정된 상태에서 org-mode 내에서 쿼리를 실행하면 같은 파일의 RESULTS라는 블록이 생성되어 거기에 결과를 반환합니다.
검색 쿼리와 그 결과를 기록해 두고 싶은 경우는 org-mode 안에서 es-mode 를 사용하는 편이 편리할 것입니다.
↑의 gif에도 나와 있습니다만, json 의 결과를 jq 로 처리한 것을 RESULTS 로 취득할 수도 있습니다.
#+BEGIN_SRC es :jq ._source.title
GET demo/doc/1?pretty
#+END_SRC
#+RESULTS
: "hello elastic"
es-mode 설정 정보
공식 README 을 참조하십시오.
그럼에도 불구하고 emacs 버전이나 환경에 따라 잘 설정되지 않을 수 있습니다. 시험으로 es-mode 사용하기 위한 Dockerfile 를 만들어 보았습니다. 컨테이너 속에서 움직이고 있는 emacs이므로, 이하의 2점에 주의해 주세요.
#+BEGIN_SRC es :jq ._source.title
GET demo/doc/1?pretty
#+END_SRC
#+RESULTS
: "hello elastic"
Reference
이 문제에 관하여(Elasticsearch API를 emacs buffer에서 호출), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fibo/items/7a7618df9cbd877eee8c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)