write down,forget
adidas eqt support ultra primeknit vintage white coming soon adidas eqt support ultra boost primeknit adidas eqt support ultra pk vintage white available now adidas eqt support ultra primeknit vintage white sz adidas eqt support ultra boost primeknit adidas eqt adv support primeknit adidas eqt support ultra boost turbo red white adidas eqt support ultra boost turbo red white adidas eqt support ultra boost turbo red adidas eqt support ultra whiteturbo adidas eqt support ultra boost off white more images adidas eqt support ultra boost white tactile green adidas eqt support ultra boost beige adidas eqt support ultra boost beige adidas eqt support refined camo drop adidas eqt support refined camo drop adidas eqt support refined running whitecamo adidas eqt support 93 primeknit og colorway ba7506 adidas eqt running support 93 adidas eqt support 93
标签 Tag : DIE

elasticsearch插件bug fix

<Category: Diving Into ElasticSearch, 小道消息> Comments Off on elasticsearch插件bug fix

lucene4变化不少:http://blog.mikemccandless.com/2012/07/lucene-400-alpha-at-long-last.html
自定义的analyzer的要求也更加严格,之前写的几个插件,都报错了。
错误具体表现在第一次分词没有问题,第二次及后续的分词都是空,感谢各位网友的积极响应和测试反馈,谢谢。

具体是什么原因呢?

仔细研究了下代码,发现reset多加了一个参数,汗,fix如下:

–    public void reset(Reader input) throws IOException {
+    public void reset() throws IOException {

 

受影响的插件:pinyin、string2int、stconvert

这次都是按jdk6重新编译的,上次反映的jdk7的问题也一并解决了。

 

阅读这篇文章的其余部分 »

本文来自: elasticsearch插件bug fix

[tutorial]clustering search result with plugin:tools-carrot2

<Category: Diving Into ElasticSearch> Comments Off on [tutorial]clustering search result with plugin:tools-carrot2

this tutorial is write for this plugin,https://github.com/medcl/elasticsearch-carrot2
阅读这篇文章的其余部分 »

本文来自: [tutorial]clustering search result with plugin:tools-carrot2

How ElasticSearch Tried to Scaling Lucene

<Category: Diving Into ElasticSearch> Comments Off on How ElasticSearch Tried to Scaling Lucene

拖拖拉拉,终于完成了。

介绍了elasticsearch核心的几个分布式设计概念,对于了解elasticsearch非常有用。

这部分内容是lukas-vlcek 根据shay 的slide Road to a Distributed Search Engine 整理的。

我翻译了下。
链接在此:
http://www.elasticsearch.cn/guide/concepts/scaling-lucene/

Scaling Lucene

本文来自: How ElasticSearch Tried to Scaling Lucene

elasticsearch禁用dynamic mapping

<Category: Diving Into ElasticSearch> Comments Off on elasticsearch禁用dynamic mapping

同名字段的问题,不好避免,干脆禁用dynamic mapping,但是又不能全局的禁用,一般情况下,dynamic mapping还是很帅的,那怎样对个别的索引进行关闭呢?
阅读这篇文章的其余部分 »

本文来自: elasticsearch禁用dynamic mapping

ElasticSearch不同类型下同名字段排序错误

<Category: Diving Into ElasticSearch> Comments Off on ElasticSearch不同类型下同名字段排序错误

小异常,记录一把。 阅读这篇文章的其余部分 »

本文来自: ElasticSearch不同类型下同名字段排序错误

ElasticSearch里DSL使用事故一则:_cache参数

<Category: Diving Into ElasticSearch> Comments Off on ElasticSearch里DSL使用事故一则:_cache参数

大家在写QueryDSL的时候,要特别注意参数,比如今天我就碰到了一个关于_cache的问题 由于使用自己写的QueryBuilder来生成QueryDSL查询语句,所以有些参数虽然没有指定,但是默认带上了,但有些情况下不注意就会出现问题。 如下例: 阅读这篇文章的其余部分 »

本文来自: ElasticSearch里DSL使用事故一则:_cache参数

elasticsearch里的search_type

<Category: Diving Into ElasticSearch> Comments Off on elasticsearch里的search_type

elasticsearch里面的search_type共有如下几种:
The type of the search operation to perform. Can be
dfs_query_then_fetch,
dfs_query_and_fetch,
query_then_fetch,
query_and_fetch. 【removed,since:http://groups.google.com/group/elasticsearch/browse_thread/thread/7aa5ea823afb499/d9e3cf3a1e1f6964】
Defaults to query_then_fetch.

form google group:“
You get proper sorted results when you use query_then_fetch (across all top
“size” results), if you use query_and_fetch, then each shard return the size
requested hits, and then they are sorted between them.

直接看代码里面吧,里面都有注释。

本文来自: elasticsearch里的search_type

Diving Into ElasticSearch(10)精确控制之Routing使用

<Category: Diving Into ElasticSearch> Comments Off on Diving Into ElasticSearch(10)精确控制之Routing使用

前面一篇介绍parent-child的使用,我们来回顾一下:

1.先建好mapping和索引几条数据

2.获取一下这几条数据看看

结果:

没有问题,我们再试试后面的

结果:

嘿嘿,发现了么,居然是404,你可以继续试试后面的id为3的也是404,id为4的可以出来

试试:http://localhost:9200/news/comment/2?parent=1(索引时的path)

哈哈,貌似不行o.(ps:其实kimchy可以实现这个url pattern,但是目前没有)

那正确的方式是怎样的呢?

答案就在routing,ES帮助:http://www.elasticsearch.org/guide/reference/mapping/routing-field.html

使用我写的partial_update插件也是支持routing的,如下:

结果:

发散一下,parent=2试试:

结果:

很明细,/news/comment/4存在两条记录,routing的出现,使ES的id的唯一性丢失了,并且删除索引记录的时候也必须带上routing才行,此外,查询的结果中可能会出现重复的_id。

再看看查询的操作,查询的时候可以指定routing,默认不区分routing,即全部扫描:

总之,一旦你决定使用routing,你必须保证对这些routing做到心中有数。

补充一下:
什么是routing,为什么用routing,正常情况下,索引是根据type和id通过hash取模的方式来存储到不同的shard里面的,查询的时候则是在整个shard组里面做的,即每个shard都要参与查询,然后合并各个查询结果,想想,如果shard多了之后,其实有些shard里面可能根本就没有我们需要的数据,这样就浪费了很多不必要的查询操作,routing就是可以按照一定的规则,建索引的时候,就可以指定数据存放在哪个shard里面,这样查询的时候,同理,通过routing规则就能够保证有的放矢,只在一个shard里面去进行查询,而不是到处撒网,这样不就快多了吗?当然用routing也有缺点,由于索引存放位置由我们自己控制,并且由于routing值不均匀,肯定会造成索引数据不均匀,即某几个shard里面什么数据也没有,某几个shard里面数据扎堆,数据扎堆的shard肯定对性能有影响,so,怎么用,自己决定!

本文来自: Diving Into ElasticSearch(10)精确控制之Routing使用

Diving Into ElasticSearch(9)Parent-Child特性使用

<Category: Diving Into ElasticSearch> Comments Off on Diving Into ElasticSearch(9)Parent-Child特性使用

介绍下ElasticSearch里Parent-Child特性的使用。

//首先创建一系列新闻的索引,这里我们将hot类型作为parent-chid关系里面的parent。

阅读这篇文章的其余部分 »

本文来自: Diving Into ElasticSearch(9)Parent-Child特性使用

Diving Into ElasticSearch(8)Mapping&Schema

<Category: Diving Into ElasticSearch> 4 条评论

前面应该介绍过ES是Schema Free,但是Schema Free不是说没有Schema,和Solr一样,ElasticSearch也可以设置document的schema,ES里的名字叫Mapping,其实无非就是设置document包含哪些Field,然后对每一个Field个性化的设置索引类型,是否存储,以及设置索引分析器和查询使用的分析器,Es和Solr相比有一个我认为最好的特性:就是支持Object类型,你可以像操作对象一样对对象的某个属性进行索引和查询,简单演示如下:
阅读这篇文章的其余部分 »

本文来自: Diving Into ElasticSearch(8)Mapping&Schema