众所周知,elasticsearch简称,它是基于基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速、安装使用方便。
我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP来索引数据,我们希望我们的搜索服务器始终可用,我们希望能够从一台开始并扩展到数百台,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。因此我们利用Elasticsearch来解决所有这些问题以及可能出现的更多其它问题。
在java中使用西班牙文时,无非想解决的是查询速度不够快,效率不够高问题,单一从数据库里查询数据已经不能拿满足当前的业务需求,好吧!那么现在我们来讲述一下如何在java中使用到es这个神奇的搜索服务器呢,首先,你得要去引用西文的依赖包,依赖如下:
& lt; dependency> & lt; groupId> org.elasticsearch.client & lt; artifactId> transport & lt; version> 5.5.0 & lt;/dependency> & lt; groupId> org.elasticsearch.client & lt; artifactId> transport & lt; version> 5.5.0 & lt;/dependency> & lt; dependency> & lt; groupId> org.elasticsearch & lt; artifactId> elasticsearch & lt; version> 5.5.0 & lt;/dependency>
好的,添加完依赖之后,进入到es使用阶段,对了,有个问题得需要说明一下,要使用西文的话需要安装jdk1.8工具包并且tomcat最好是7.05以上的版本,不然es会不支持,集成到项目里面可能会报错!,还有es的安装和下载,这里附下载地址下载地址:https://www.elastic.co/downloads/elasticsearch
一切准备就绪后接下来进入到我们真正期待的时刻,什么呢,没错,集成,究竟如何在java里面搜索查询es服务器里面的东西呢,让我一一来为你揭晓:
首先我们建议一个es的工具类
包com.osa.utils; 进口java.io.BufferedReader; 进口java.io.IOException; 进口java.io.InputStreamReader; 进口java.io.PrintWriter; 进口java.net.URL; 进口java.net.URLConnection; 进口java.net.URLEncoder; 进口java.util.Iterator; 进口并不知道; 进口java.util.Map; 进口java.util.Set; 进口org.apache.http.client.ClientProtocolException; 进口com.alibaba.fastjson.JSONArray; 进口com.alibaba.fastjson.JSONException; 进口com.alibaba.fastjson.JSONObject; 公开课HTTPSentUtils {/* * *向指定网址发送得到方法的请求 * * @param url *发送请求的URL * @param参数 *请求参数,请求参数应该是name1=value1& name2=value2的形式。 * @return URL所代表远程资源的响应结果 */sendGet公共静态字符串(字符串url字符串参数){ 字符串的结果=" "; BufferedReader=零; 尝试{ url字符串urlNameString=+ & # 63;“+参数; URL realUrl=新的URL (urlNameString);//打开和URL之间的连接 URLConnection连接=realUrl.openConnection ();//设置通用的请求属性 连接。setRequestProperty(“接受”、“*/*”); 连接。setRequestProperty(“连接”、“维生”); connection.setRequestProperty(“用户代理”, “Mozilla/4.0 (compatible;MSIE 6.0;Windows NT 5.1; SV1)”);//建立实际的连接 connection.connect ();//获取所有响应头字段 Map<字符串,Listjava使用西文查询的示例代码