Calling elasticsearch in Play! java stack.
ㅇ index
0. play! installation
http://www.playframework.com/documentation/2.2.x/Installing
just download and make PATH
1. making play! app (esproject)
2. changing the app for eclipse
3. add elasticsearch libraries to play!
4. making the route for test (put elasticsearch index)
5. coding with sample util class
6. debugging the play!
7. run elasticsearch servers
8. monitoring elasticsearch
9. check out query result with java API
1. making play! app (esproject)
$> play new esproject
What is the application name? [esproject]
>(enter)
Which template do you want to use for this new application?
1 - Create a simple Scala application
2 - Create a simple Java application
> 2
OK, application esproject is created.
Have fun!
2. changing the app for eclipse
$> cd esproject/
$> play eclipse
~~~
[info] Successfully created Eclipse project files for project(s):
[info] esproject
3. add elasticsearch libraries to play!
3.1 mkdir /esproject/lib
3.2 copy jars to lib path
/esproject/lib/elasticsearch-1.0.0.jar
/esproject/lib/lucene-analyzers-common-4.6.1.jar
/esproject/lib/lucene-codecs-4.6.1.jar
/esproject/lib/lucene-core-4.6.1.jar
/esproject/lib/lucene-grouping-4.6.1.jar
/esproject/lib/lucene-highlighter-4.6.1.jar
/esproject/lib/lucene-join-4.6.1.jar
/esproject/lib/lucene-memory-4.6.1.jar
/esproject/lib/lucene-misc-4.6.1.jar
/esproject/lib/lucene-queries-4.6.1.jar
/esproject/lib/lucene-queryparser-4.6.1.jar
/esproject/lib/lucene-sandbox-4.6.1.jar
/esproject/lib/lucene-spatial-4.6.1.jar
/esproject/lib/lucene-suggest-4.6.1.jar
3.3 modify classpath
/esproject/.classpath
<classpathentry kind="lib" path="lib/elasticsearch-1.0.0.jar"/>
<classpathentry kind="lib" path="lib/lucene-core-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-analyzers-common-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-codecs-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-queries-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-memory-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-highlighter-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-queryparser-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-sandbox-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-suggest-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-misc-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-join-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-grouping-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-spatial-4.6.1.jar"/>
3.4 modify configuration file
/esproject/conf/application.conf
# elasticsearch
elasticsearch.clusterName = locketCast
elasticsearch.nodes = "localhost:9300,localhost:9301,localhost:9302"
4. making the route for test (put elasticsearch index)
/esproject/conf/routes
# http://localhost:9000/test/putIndex?id=1&indexString={"user_id":"doohee323", "action":"search", "data":"facebook Feed"}
GET /test/putIndex controllers.Esearch.putIndex(id:Long, indexString:String)
5. coding with sample util class
/esproject/app/controllers/Esearch.java
/esproject/app/services/ElasticsearchService.java
6. debugging the play!
6.1 run play! in debug mode
$> play debug
[esproject] $ Listening for transport dt_socket at address: 9999
[esproject] $ run
6.2 run eclipse debugger
eclipse Debug Configurations
Remote Java Application > new >
- Project : esproject
- Host : localhost
- Port : 9999
7. run elasticsearch servers
/data1/elasticsearch/node1> ./start.sh
/data1/elasticsearch/node2> ./start.sh
/data1/elasticsearch/node3> ./start.sh
browser call with 'http://localhost:9000/test/putIndex?id=1&indexString={"user_id":"doohee323", "action":"search", "data":"facebook Feed"}'
8. monitoring elasticsearch
8.1 check out the indexes
http://localhost:9200/_plugin/kopf
8.2 check out query result with rest API
http://localhost:9200/_search?q=user_id:doohee323
-> http://localhost:9200/updatelogs/20140428/_search
-> http://localhost:9200/updatelogs/20140428/_count?q=user_id:doohee323
9. check out query result with java API
/esproject/conf/routes
# http://localhost:9000/test/getIndex?queryString={"user_id":"doohee323"}
GET /test/getIndex controllers.Esearch.getIndex(queryString:String)
or execute /esproject/test/ElasticTest.java
cf.
- source: https://github.com/doohee323/esproject
- elasticsearch: https://github.com/doohee323/hanb-elasticsearch-beginner
ㅇ index
0. play! installation
http://www.playframework.com/documentation/2.2.x/Installing
just download and make PATH
1. making play! app (esproject)
2. changing the app for eclipse
3. add elasticsearch libraries to play!
4. making the route for test (put elasticsearch index)
5. coding with sample util class
6. debugging the play!
7. run elasticsearch servers
8. monitoring elasticsearch
9. check out query result with java API
1. making play! app (esproject)
$> play new esproject
What is the application name? [esproject]
>(enter)
Which template do you want to use for this new application?
1 - Create a simple Scala application
2 - Create a simple Java application
> 2
OK, application esproject is created.
Have fun!
2. changing the app for eclipse
$> cd esproject/
$> play eclipse
~~~
[info] Successfully created Eclipse project files for project(s):
[info] esproject
3. add elasticsearch libraries to play!
3.1 mkdir /esproject/lib
3.2 copy jars to lib path
/esproject/lib/elasticsearch-1.0.0.jar
/esproject/lib/lucene-analyzers-common-4.6.1.jar
/esproject/lib/lucene-codecs-4.6.1.jar
/esproject/lib/lucene-core-4.6.1.jar
/esproject/lib/lucene-grouping-4.6.1.jar
/esproject/lib/lucene-highlighter-4.6.1.jar
/esproject/lib/lucene-join-4.6.1.jar
/esproject/lib/lucene-memory-4.6.1.jar
/esproject/lib/lucene-misc-4.6.1.jar
/esproject/lib/lucene-queries-4.6.1.jar
/esproject/lib/lucene-queryparser-4.6.1.jar
/esproject/lib/lucene-sandbox-4.6.1.jar
/esproject/lib/lucene-spatial-4.6.1.jar
/esproject/lib/lucene-suggest-4.6.1.jar
3.3 modify classpath
/esproject/.classpath
<classpathentry kind="lib" path="lib/elasticsearch-1.0.0.jar"/>
<classpathentry kind="lib" path="lib/lucene-core-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-analyzers-common-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-codecs-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-queries-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-memory-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-highlighter-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-queryparser-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-sandbox-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-suggest-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-misc-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-join-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-grouping-4.6.1.jar"/>
<classpathentry kind="lib" path="lib/lucene-spatial-4.6.1.jar"/>
3.4 modify configuration file
/esproject/conf/application.conf
# elasticsearch
elasticsearch.clusterName = locketCast
elasticsearch.nodes = "localhost:9300,localhost:9301,localhost:9302"
4. making the route for test (put elasticsearch index)
/esproject/conf/routes
# http://localhost:9000/test/putIndex?id=1&indexString={"user_id":"doohee323", "action":"search", "data":"facebook Feed"}
GET /test/putIndex controllers.Esearch.putIndex(id:Long, indexString:String)
5. coding with sample util class
/esproject/app/controllers/Esearch.java
/esproject/app/services/ElasticsearchService.java
6. debugging the play!
6.1 run play! in debug mode
$> play debug
[esproject] $ Listening for transport dt_socket at address: 9999
[esproject] $ run
6.2 run eclipse debugger
eclipse Debug Configurations
Remote Java Application > new >
- Project : esproject
- Host : localhost
- Port : 9999
7. run elasticsearch servers
/data1/elasticsearch/node1> ./start.sh
/data1/elasticsearch/node2> ./start.sh
/data1/elasticsearch/node3> ./start.sh
browser call with 'http://localhost:9000/test/putIndex?id=1&indexString={"user_id":"doohee323", "action":"search", "data":"facebook Feed"}'
8. monitoring elasticsearch
8.1 check out the indexes
http://localhost:9200/_plugin/kopf
8.2 check out query result with rest API
http://localhost:9200/_search?q=user_id:doohee323
-> http://localhost:9200/updatelogs/20140428/_search
-> http://localhost:9200/updatelogs/20140428/_count?q=user_id:doohee323
9. check out query result with java API
/esproject/conf/routes
# http://localhost:9000/test/getIndex?queryString={"user_id":"doohee323"}
GET /test/getIndex controllers.Esearch.getIndex(queryString:String)
or execute /esproject/test/ElasticTest.java
cf.
- source: https://github.com/doohee323/esproject
- elasticsearch: https://github.com/doohee323/hanb-elasticsearch-beginner
Comments
Post a Comment