检索与ElasticSearch
_飞翔的企鹅_
这个作者很懒,什么都没留下…
展开
-
分布式搜索elasticsearch 环境搭建
1、elasticsearch安装 elasticsearch的安装超级easy,解压即用(要事先安装好java环境)。 到官网 http://www.elasticsearch.org下载最新版的 elasticsearch 运行包; 下载完解开有三个包: bin 是运行的脚本, config 是设置文件, lib 是放依赖的包。 plugins 的文件夹,把插件放到这个文件夹原创 2014-10-14 12:40:17 · 9803 阅读 · 2 评论 -
分布式搜索elasticsearch 搜索结果排序不一致性问题
想象这一种情况,如果搜索结果中得分出现相同的情况下:由于搜索会在分片的副本之间均衡的轮询请求,可能会出现请求在不同的副本之间返回的循序不同,从而影响排序结果的稳定性。 搜索接口有提供preference参数:curl localhost:9200/_search?preference=xyzabc123。 可以使用的参数: _primary,_primary_first,_local,_onl原创 2015-02-03 10:16:14 · 8955 阅读 · 1 评论 -
推荐系统简介——基于协同过滤的推荐
1、推荐系统简介 个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。 推荐系统主要处理的有两类内容:一个是User,一个是Item。系统的目标也很明确,就是向User推荐Item。 应用了推荐系统的例子有很多,比如:知名的电商:Amazon,全球有名的在线影片租赁商:Netflix,国内的新闻应用:今日头条。 2、推荐系统分类 2转载 2015-01-13 09:49:50 · 1302 阅读 · 0 评论 -
推荐系统简介——基于内容的推荐
最近闲下来又开始继续折腾推荐系统了,声明一下,本文只是介绍一下最基础的基于内容的推荐系统(Content-based recommender system)的工作原理,其实基于内容的推荐系统也分三六九等Orz,这里只是简单的较少一下最原始的、最基本的工作流程。 基于内容的推荐算法思路很简单,它的原理大概分为3步: 1、为每个物品(Item)构建一个物品的属性资料(Item Profil转载 2015-01-13 09:52:06 · 1334 阅读 · 0 评论 -
Lucene实现自定义分词器(同义词查询与高亮)
今天我们实现一个简单的分词器,仅仅做演示使用功能如下: 1、分词按照空格、横杠、点号进行拆分; 2、实现hi与hello的同义词查询功能; 3、实现hi与hello同义词的高亮显示; MyAnalyzer实现代码: public class MyAnalyzer extends Analyzer { private int analyzerType; public MyAna原创 2015-01-28 10:12:11 · 2181 阅读 · 0 评论 -
elasticsearch集群生态,分片以及水平扩展.
elasticsearch用于构建高可用和可扩展的系统。扩展的方式可以是购买更好的服务器(纵向扩展)或者购买更多的服务器(横向扩展),Elasticsearch能从更强大的硬件中获得更好的性能,但是纵向扩展也有一定的局限性。真正的扩展应该是横向的,它通过增加节点来传播负载和增加可靠性。对于大多数数据库而言,横向扩展意味着你的程序将做非常大的改动来利用这些新添加的设备。对比来说,Elasticsea转载 2014-12-02 09:32:06 · 6762 阅读 · 0 评论 -
分布式搜索 Lucene全文检索基本原理
一、总论 根据http://lucene.apache.org/java/docs/index.html 定义: Lucene 是一个高效的,基于Java 的全文检索库。 所以在了解Lucene之前要费一番工夫了解一下全文检索。 那么什么叫做全文检索呢?这要从我们生活中的数据说起。 我们生活中的数据总体分为两种:结构化数据 和非结构化数据 。 结构化数据: 指具转载 2014-10-15 10:39:32 · 2803 阅读 · 0 评论 -
分布式搜索elasticsearch 索引文档的检索 入门
1、首先将如下数据提交到ES中建立索引 {"number":32768,"singer":"杨坤","size":"5109132","song":"今夜二十岁","tag":"中国好声音","timelen":319} {"number":32769,"singer":"汪峰","size":"6001697","song":"我爱你中国","tag":"中国好声音","timelen":3原创 2014-10-14 17:17:45 · 3029 阅读 · 2 评论 -
分布式搜索elasticsearch 索引文档的增删改查 入门
1、RESTful接口使用方法 为了方便直观我们使用Head插件提供的接口进行演示,实际上内部调用的RESTful接口。 RESTful接口URL的格式: http://localhost:9200///[] 其中index、type是必须提供的。 id是可选的,不提供es会自动生成。 index、type将信息进行分层,利于管理。 index可以原创 2014-10-14 15:47:09 · 46862 阅读 · 1 评论 -
分布式搜索elasticsearch 基本概念
ElasticSearch官网:http://www.elasticsearch.org/ 先上一张elasticsearch的总体框架图: ElasticSearch是基于Lucene开发的分布式搜索框架,包含如下特性: 分布式索引、搜索 索引自动分片、负载均衡 自动发现机器、组建集群 支持Restful 风格接口 配置简单等。 下图是ElasticSearc原创 2014-10-14 11:48:17 · 8608 阅读 · 0 评论 -
Lucene实现自定义相似度计算公式
假如我们在特殊的应用场景中,需要忽略tf、df所产生的影响,可以如下实现: 1、实现自己的相似度计算方式: public class MySimilarity extends DefaultSimilarity { @Override public float tf(float freq) { return 1.0f; } /** Implemented原创 2015-01-26 10:45:37 · 4354 阅读 · 0 评论