elasticsearch-transport-wares使用servlet來連接到Elasticsearch
我不明白,如何使用這個插件......
我想使用servlet去連接elasticsearch和操作...
我的環境只有apache tomcat servlet,請幫助我,謝謝。
elasticsearch-transport-wares使用servlet來連接到Elasticsearch
我不明白,如何使用這個插件......
我想使用servlet去連接elasticsearch和操作...
我的環境只有apache tomcat servlet,請幫助我,謝謝。
的想法是,通過添加以下依賴修改你的Maven pom.xml
(請務必使用right version取決於ES你的版本正在運行):elasticsearch-的
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch-transport-wares</artifactId>
<version>2.7.0</version>
</dependency>
JAR文件運輸商品最終將在您的WEB-INF/lib
文件夾中結束。在web.xml
然後,添加一個新的<servlet>
和<servlet-mapping>
這樣的:
<servlet>
<servlet-name>esnode</servlet-name>
<servlet-class>org.elasticsearch.wares.NodeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>esnode</servlet-name>
<url-pattern>/es/*</url-pattern> <---- you can change this pattern
</servlet-mapping>
這將實例化http://server:8080/es/
路徑上的服務請求,並將其代理到本地嵌入式Elasticsearch節點,這意味着一個新的Servlet你可以通過你的Web應用程序查詢ES,.eg:
curl -XGET http://server:8080/es/your_index/your_type/_search?q=*
上面的查詢將等同於直接查詢外部ES集羣中使用
curl -XGET http://localhost:9200/your_index/your_type/_search?q=*
的主要區別是,你還可以查詢通過檢索已在servlet上下文創建的Elasticsearch節點,使用在內部從任何地方你的web應用程序中的ES(在這裏你可以訪問ServletContext
):
Node node = getServletContext().getAttribute("elasticsearchNode")
最後,您可以爲您的節點存儲Elasticsearch配置,即/WEB-INF/elasticsearch.json
或/WEB-INF/elasticsearch.yml
。
你有這個機會嗎? – Val