使用 dmesg 来查看一些硬件或驱动程序的信息或问题。

怎么关闭Elasticsearch服务

Elasticsearchguoyiqin 回复了问题 • 5 人关注 • 4 个回复 • 9661 次浏览 • 2016-04-06 17:06 • 来自相关话题

通过elasticsearch head插件,无法关闭服务器

Elasticsearchowen 回复了问题 • 3 人关注 • 3 个回复 • 6044 次浏览 • 2016-03-30 15:37 • 来自相关话题

Kibana 能做权限控制吗?

Kibanamedcl 回复了问题 • 2 人关注 • 1 个回复 • 9646 次浏览 • 2016-03-29 21:09 • 来自相关话题

java使用HTTP Rest client 客户端Jest连接操作es,功能很强大

Elasticsearchkl 发表了文章 • 6 个评论 • 27185 次浏览 • 2016-03-28 23:30 • 来自相关话题

前言

在了解jest框架前,楼主一直尝试用官方的Elasticsearch java api连接es服务的,可是,不知何故,一直报如下的异常信息,谷歌了很久,都说是jvm版本不一致导致的问题,可我是本地测试的,jvm肯定是一致的,这个问题现在都木有解决,but,这怎么能阻止我探索es的脚步呢,so,让我发现了jest 这个框架   


org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response from stream Caused by: org.elasticsearch.transport.TransportSerializationException: Failed to deserialize exception response from stream
我的测试代码是参考官方api实例的,官方api地址:Elasticsearch java api,代码如下:



Client client = new TransportClient().addTransportAddress(new InetSocketTransportAddress("127.0.0.1", 9300)); QueryBuilder queryBuilder = QueryBuilders.termQuery("content", "搜"); SearchResponse searchResponse = client.prepareSearch("indexdata").setTypes("fulltext") .setQuery(queryBuilder) .execute() .actionGet(); SearchHits hits = searchResponse.getHits(); System.out.println("查询到记录数:" + hits.getTotalHits()); SearchHit[] searchHists = hits.getHits(); for(SearchHit sh : searchHists){ System.out.println("content:"+sh.getSource().get("content")); } client.close();
如果有人知道怎么回事,告诉一下楼主吧,让楼主坑的明白,感激不尽了,我的es版本是2.2.0


进入正题

了解jest

jest是一个基于 HTTP Rest 的连接es服务的api工具集,功能强大,能够使用es java api的查询语句,项目是开源的,github地址:https://github.com/searchbox-io/Jest




我的测试用例

分词器:ik,分词器地址:https://github.com/medcl/elasticsearch-analysis-ik ,es的很多功能都是基于插件提供的,es版本升级都2.2.0后,安装插件的方式不一样了,如果你安装ik分词插件有问题,请点击右上角的qq联系博主

新建索引

curl -XPUT http://localhost:9200/indexdata


创建索引的mapping,指定分词器

curl -XPOST http://localhost:9200/indexdata/fulltext/_mapping

{
  "fulltext": {
    "_all": {
      "analyzer": "ik_max_word",
      "search_analyzer": "ik_max_word",
      "term_vector": "no",
      "store": "false"
    },
    "properties": {
      "content": {
        "type": "string",
        "store": "no",
        "term_vector": "with_positions_offsets",
        "analyzer": "ik_max_word",
        "search_analyzer": "ik_max_word",
        "include_in_all": "true",
        "boost": 8
      },
      "description": {
        "type": "string",
        "store": "no",
        "term_vector": "with_positions_offsets",
        "analyzer": "ik_max_word",
        "search_analyzer": "ik_max_word",
        "include_in_all": "true",
        "boost": 8
      },
      "title": {
        "type": "string",
        "store": "no",
        "term_vector": "with_positions_offsets",
        "analyzer": "ik_max_word",
        "search_analyzer": "ik_max_word",
        "include_in_all": "true",
        "boost": 8
      },
      "keyword": {
        "type": "string",
        "store": "no",
        "term_vector": "with_positions_offsets",
        "analyzer": "ik_max_word",
        "search_analyzer": "ik_max_word",
        "include_in_all": "true",
        "boost": 8
      }
    }
  }
}

mapping信息可以用head插件查看,如下


导入数据和查询,看代码吧


@RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = ElasticSearchTestApplication.class) public class JestTestApplicationTests { @Autowired private KlarticleDao klarticleDao; //得到JestClient实例 public JestClient getClient()throws Exception{ JestClientFactory factory = new JestClientFactory(); factory.setHttpClientConfig(new HttpClientConfig .Builder("http://127.0.0.1:9200&quot;) .multiThreaded(true) .build()); return factory.getObject(); } /** * 导入数据库数据到es * @throws Exception */ @Test public void contextLoads() throws Exception{ JestClient client=getClient(); Listlists=klarticleDao.findAll(); for(Klarticle k:lists){ Index index = new Index.Builder(k).index("indexdata").type("fulltext").id(k.getArcid()+"").build(); System.out.println("添加索引----》"+k.getTitle()); client.execute(index); } //批量新增的方式,效率更高 Bulk.Builder bulkBuilder = new Bulk.Builder(); for(Klarticle k:lists){ Index index = new Index.Builder(k).index("indexdata").type("fulltext").id(k.getArcid()+"").build(); bulkBuilder.addAction(index); } client.execute(bulkBuilder.build()); client.shutdownClient(); } //搜索测试 @Test public void JestSearchTest()throws Exception{ SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); searchSourceBuilder.query(QueryBuilders.matchQuery("content", "搜索")); Search search = new Search.Builder(searchSourceBuilder.toString()) // multiple index or types can be added. .addIndex("indexdata") .build(); JestClient client =getClient(); SearchResult result= client.execute(search); // List> hits = result.getHits(Klarticle.class); Listarticles = result.getSourceAsObjectList(Klarticle.class); for(Klarticle k:articles){ System.out.println("------->:"+k.getTitle()); } } }下面是依赖的jar,maven项目<!--jest依赖--> <dependency> <groupId>io.searchbox</groupId> <artifactId>jest</artifactId> <version>2.0.0</version> </dependency> <!--jest 日志依赖--> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>2.2.0</version> </dependency> </dependencies>
去我的博客查看原文:http://www.kailing.pub/article/index/arcid/84.html

大家聊一聊使用的什么版本的Elasticsearch,看看Elasticsearch版本变化

Elasticsearchkl 发表了文章 • 4 个评论 • 7217 次浏览 • 2016-03-28 19:12 • 来自相关话题

我是最近从lucene过渡Elasticsearch的,直接用的最新的2.2.0版本的。发现离线安装插件的方式和以前不一样了,一些配置也有改变,最大的问题是java client api 连接报了如下的异常,我是参照官方api测试的,地址:https://www.elastic.co/guide/e ... .html
org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response from stream
谷歌都说是服务和客户端的jvm不一致,我是本机环境测试的,所以,现在这个问题都还没解决,有遇到过的么,还是和版本有关系啊

ES处理大数据插入运行几个小时候出现性能问题

Elasticsearchhelloes 回复了问题 • 2 人关注 • 1 个回复 • 12014 次浏览 • 2016-03-28 17:09 • 来自相关话题

拼音搜索+中文搜索

Elasticsearchniweiyi1314 回复了问题 • 11 人关注 • 5 个回复 • 22715 次浏览 • 2018-04-26 14:08 • 来自相关话题

log4j输出到logstash+redis引发应用线程堵塞

Logstash三斗室 回复了问题 • 2 人关注 • 1 个回复 • 5869 次浏览 • 2016-03-28 11:08 • 来自相关话题

从mysql同步数据到es方法大讨论

Elasticsearchsunyizhen 回复了问题 • 5 人关注 • 3 个回复 • 13701 次浏览 • 2016-08-04 17:23 • 来自相关话题

kibana放在公网上需要注意什么问题

Kibanacoolloves 回复了问题 • 3 人关注 • 2 个回复 • 6434 次浏览 • 2016-03-27 15:16 • 来自相关话题

kibana主页setting下objects中的Visuaizations图数量最大值为100

回复

Kibanamadman 发起了问题 • 1 人关注 • 0 个回复 • 5936 次浏览 • 2016-03-26 15:05 • 来自相关话题

Elastic线下交流活动走起来!

资讯动态medcl 发表了文章 • 2 个评论 • 4687 次浏览 • 2016-03-24 10:50 • 来自相关话题

线上交流不过瘾?那就参加线下交流活动吧!
这里是搜罗的最新的线下交流活动预告:

 
大家分别找到组织报名参加吧,貌似有些还需要场地支持,大家一起出谋划策,把活动办起来吧。

ElasticsearchTimeoutException问题

Elasticsearchhelloes 回复了问题 • 2 人关注 • 1 个回复 • 9662 次浏览 • 2016-03-24 02:10 • 来自相关话题

如何使用自定义的 Similarity插件

Elasticsearchsmile_sunshine 回复了问题 • 2 人关注 • 2 个回复 • 6346 次浏览 • 2016-03-24 21:04 • 来自相关话题

【招聘 ES】手机厂商移动互联网 诚求搜索引擎工程师

求职招聘medcl 回复了问题 • 3 人关注 • 1 个回复 • 5747 次浏览 • 2016-03-24 10:58 • 来自相关话题