本文使用Github中的Elasticsearch-rtf,已经集成了众多的插件,例如必须使用的中文分词等,可以简单的通过配置来启用中文分词。本文主要分为以下几部分: 1、配置和启用中文分词; 2、定义索引的mapping 3、java客户端jest创建和检索索引 4、高亮检索结果 5、集群配置 工...
分类:
编程语言 时间:
2014-12-18 00:01:49
阅读次数:
280
提高性能
短语和邻近度查询比简单的match查询在性能上更昂贵。match查询只是查看词条是否存在于倒排索引(Inverted Index)中,而match_phrase查询则需要计算和比较多个可能重复词条(Multiple possibly repeated)的位置。
在Lucene Nightly Benchmarks中,显示了一个简单的term查询比一个短语查询快大概10倍,比一...
分类:
其他好文 时间:
2014-12-17 12:54:34
阅读次数:
290
elasticsearch? ulimit: error setting limit 解决: My understanding is that /etc/security/limits.conf applies to login shells - but if you‘ve installed docker via apt-get, it‘s started by Upstart. ...
分类:
其他好文 时间:
2014-12-16 13:38:59
阅读次数:
228
多值字段(Multivalue Fields)
在多值字段上使用短语匹配会产生古怪的行为:
PUT /my_index/groups/1
{
"names": [ "John Abraham", "Lincoln Smith"]
}
运行一个针对Abraham Lincoln的短语查询:
GET /my_index/groups/_search
{
"q...
分类:
其他好文 时间:
2014-12-16 10:04:15
阅读次数:
236
本文翻译自Elasticsearch官方指南的Proximity Matching一章。
邻近匹配(Proximity Matching)
使用了TF/IDF的标准全文搜索将文档,或者至少文档中的每个字段,视作"一大袋的单词"(Big bag of Words)。match查询能够告诉我们这个袋子中是否包含了我们的搜索词条,但是这只是一个方面。它不能告诉我们关于单词间关...
分类:
其他好文 时间:
2014-12-15 12:11:17
阅读次数:
205
自定义_all字段
在元数据:_all字段中,我们解释了特殊的_all字段会将其它所有字段中的值作为一个大字符串进行索引。尽管将所有字段的值作为一个字段进行索引并不是非常灵活。如果有一个自定义的_all字段用来索引人名,另外一个自定义的_all字段用来索引地址就更好了。
ES通过字段映射中的copy_to参数向我们提供了这一功能:
PUT /my_index
{
"m...
分类:
其他好文 时间:
2014-12-12 10:12:29
阅读次数:
205
以字段为中心的查询(Field-centric Queries)
上述提到的三个问题都来源于most_fields是以字段为中心(Field-centric),而不是以词条为中心(Term-centric):它会查询最多匹配的字段(Most matching fields),而我们真正感兴趣的最匹配的词条(Most matching terms)。
NOTE
best_fields同...
分类:
其他好文 时间:
2014-12-11 10:26:13
阅读次数:
312
跨字段实体搜索(Cross-fields Entity Search)
现在让我们看看一个常见的模式:跨字段实体搜索。类似person,product或者address这样的实体,它们的信息会分散到多个字段中。我们或许有一个person实体被索引如下:
{
"firstname": "Peter",
"lastname": "Smith"
}
而addr...
分类:
其他好文 时间:
2014-12-11 10:25:02
阅读次数:
232
multi_match查询
multi_match查询提供了一个简便的方法用来对多个字段执行相同的查询。
NOTE
存在几种类型的multi_match查询,其中的3种正好和在"了解你的数据"一节中提到的几种类型相同:best_fields,most_fields以及cross_fields。
默认情况下,该查询以best_fields类型执行,它会为每个字段生成一...
分类:
其他好文 时间:
2014-12-10 10:51:19
阅读次数:
315
1、首先下载elasticsearch安装版本下载地址:http://www.elasticsearch.org/downloads/jdk1.6X推荐使用elasticsearch-0.90.13,再高的elasticSearch版本不支持jdk1.6X,下载完成后,解压到安装目录,进入安装目录下的bin文件夹,运行elasticsearch.bat,启动成功后,在浏览器中..