'elasitcsearch'에 해당되는 글 2건

  1. 2015.08.24 [Elasticsearch] java.lang.ClassNotFoundException: groovy.lang.GroovyClassLoader
  2. 2013.12.18 [Elasticsearch] 쉽게 자동완성 기능 구현해 보기. 2

[Elasticsearch] java.lang.ClassNotFoundException: groovy.lang.GroovyClassLoader

Elastic/Elasticsearch 2015. 8. 24. 18:19

이 에러는 elasticsearch 프로젝트를 하나 만들어서 개발 하다 보면 경험하게 되는 메시지 입니다.


[에러]

java.lang.ClassNotFoundException: groovy.lang.GroovyClassLoader


이것은 groovy-all 과 lucene-expressions 에 대한 dependency 때문에 발생을 하는 것인데요.
이런 에러가 보기 싫으신 분들은 생성한 프로젝트의 pom.xml 에 아래 dependency 를 추가해 주시면 됩니다.


[pom.xml]

    <dependency>

      <groupId>org.codehaus.groovy</groupId>

      <artifactId>groovy-all</artifactId>

      <version>2.3.2</version>

      <scope>compile</scope>

      <optional>true</optional>

    </dependency>


    <dependency>

      <groupId>org.apache.lucene</groupId>

      <artifactId>lucene-expressions</artifactId>

      <version>4.10.2</version>

      <scope>compile</scope>

      <optional>true</optional>

    </dependency>

※ 여기서 주의 하셔야 할 점은 version 에 맞춰서 정보를 넣어 주셔야 한다는 것입니다.

※ elasticsearch 는 lucene 기반이기 때문에 version 은 꼭 확인 하셔야 합니다.


:

[Elasticsearch] 쉽게 자동완성 기능 구현해 보기.

Elastic/Elasticsearch 2013. 12. 18. 14:59

뭐 별로 어렵거나 거창하지 않습니다.

자동완성의 경우 오타교정, 사전연동 등등 조합이 필요 하지만 일단 es 에서 제공해 주는 prefix query 를 통해서 아주 쉽게 구현 할 수 있습니다.


[Reference]

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-prefix-query.html


[Test URI]

http://localhost:9200/idx_local/_search?{"query":{"prefix":{"item_name":"나"}}}

http://localhost:9200/idx_local/_search?{"query":{"prefix":{"item_name":"나이"}}}


[설명]

- name 이라는 문서 필드에 "홍길"로 시작하는 문서를 검색해 줍니다.

- name field 는 기본 index:not_analyzed 로 선언 되어 있어야 합니다.

- 쇼핑 같은데서 인기검색어 자동완성 또는 검색어 자동완성 이런 용도로 활용 하시면 되겠내요.

: