- 浏览: 52307 次
- 性别:
- 来自: 上海
最新评论
-
50341:
朋友你好,我现在的问题是,已经有两个了,一个用于IK,一个用于 ...
ElasticSearch 在string类型的字段上做排序出错的解决方案 -
bluky999:
醉仙望月 写道SearchRequestBuilder bui ...
Java Client调用ElasticSearch做全文搜索代码示例 -
醉仙望月:
SearchRequestBuilder builder= c ...
Java Client调用ElasticSearch做全文搜索代码示例 -
350530133:
重建索引的没有必要来回倒腾吧?可以使用aliases来做索引映 ...
ElasticSearch 在string类型的字段上做排序出错的解决方案 -
shuminghuang:
parameters是我自己定义的一个类,用来保存外部传进来的 ...
Java Client调用ElasticSearch做全文搜索代码示例
文章列表
前言
由于elasticsearch基于lucene,所以天然地就多了许多lucene上的中文分词的支持,比如 IK, Paoding, MMSEG4J等lucene中文分词原理上都能在elasticsearch上使用。当然前提是有elasticsearch的插件。 至于插件怎么开发,这里有一片文章介绍:
http://log.medcl.net/item/2011/07/diving-into-elasticsearch-3-custom-analysis-plugin/
暂时还没时间看,留在以后仔细研究, 这里只记录本人使用medcl提供的IK分词插件的集成步骤。
一、插件 ...
网上有许多elasticsearch和mongodb之间通过elasticsearch的mongodb-river插件建立管道的文章,这些文章都有一个要求:需要一个mongodb的集群,也就是需要至少两个mongodb的实例。原因也好理解:river插件是通过读取mongodb的oplog.rs这个表来同步mongodb中的更新的,而要oplog.rs只有在replicset中才能生效。所以本文的重点也就变成了如何在一个mongodb的实例下搭建replicset环境了。
总之,三个步骤:
搭建单机replicSet
安装mongodb-river插件
验证
搭建repli ...
问题
在处理elasticsearch的时候,通常需要不断地调整索引的配置,以期达到期望的效果。最近在试验各种analyzer的效果的时候就碰到一个问题:修改索引配置后,并不能立即生效。后来才发现需要先关闭索引,然后再打开才能生效。
过程
下面是我的过程:
创建索引:
curl -XPUT http://localhost:9200/analyzetest/ -d '
{
"settings":{
"analysis":{
"analyzer":{
...
前言
elasticsearch 将各种功能、配置、服务都以API的形式暴露,这也是elasticsearch区别于其他搜索引擎框架的一个特征。这几天在看一个elasticsearch的培训资料,将资料中提到的URL单独罗列了出来。
索引相关
URL
说明
/index/_search
不解释
/_aliases
获取或操作索引的别名
/index/
/index/type/
创建或操作类型
/index/_mapping
创建或操作mapping
/index/_settings
创建或操作设置(num ...
问题
有个简单的需求:列出图书信息,并按照图书标题的字典顺序排列。
原来认为会很简单:
builder.addSort(SortBuilders.fieldSort("title").order(SortOrder.ASC));
没想到确报这样的异常:
Can’t sort on string types with more than one value per doc, or more than one token per field
原因分析
根据异常信息的提示,有两个可能:
1) 文档里有两个string类型排序的字段
2) ...
目前在做基于ElasticSearch的搜索实现,采用ElasticSearch提供的Java API实现,用TransportClient连接到ES的Cluster。
根据经验,一个搜索请求应该走这样的流程:
Analyzer分析Query Term
根据Analyzer的结果构建TermQuery
发送Query请求给ES
处理返回结果
想找一段Sample Code,可是一直没找到ES里合适的Analyzer类,很奇怪为什么直接发JSON请求很简单的事,Java处理起来这么复杂(用JSON请求见:http://www.elasticsearch.org/guid ...
Git必知必会之进阶
- 博客分类:
- git
上篇讲到Git必知必会的日常命令,本篇继续介绍Git用法,不常用,却非常重要。包括:
配置git
git remote
git hooks
git log
git 子模块
配置Git
配置文件配置可以通过命令行进行(git config),也可能直接修改配置文件。可以在三个地方找到配置文件:仓库目录、用户目录、全局目录,分别代表不同的影响范围。 仓库目录即在仓库的.git目录下的config文件中;用户目录在%user_home%/.git/.gitconfig文件中;全局目录位于/etc/gitconfig(Windows用户在%program fil ...