基于ElasticSearch实现商品的全文检索检索

11人阅读 评论(0) 收藏 举报
分类:

全文检索

相关概念

    数据分类;

        结构化数据:行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据能够用数据或统一的结构加以表示,可以用数字和符号加以表示

        非结构化数据:无法用数字或统一的结构表示 文本、图像、声音、网页 

        结构化数据属于非结构化数据,非结构化数据即为全文数据

    全文检索:一种将文件中或者数据库中所有文本与检索项匹配的文字资料检索方法,对全文数据的检索

    两种方法:

     顺序扫描法:

     索引扫描法

     全文检索的基本思路,也即将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行检索,从而达到搜索相对较快的目的

      两个过程

       索引创建

            索引中保存了什么 字典 索引只会创建一次

                

            第一步:一些要索引的原文档    

            第二步:将原文档传给分词组件

            第三步:将得到的词元(Token)传给语言处理组件(Linguistic Process)   

    

            第四步:将得到的词(Term)传给索引组件(Indexer)


搜索索引

 第一步:用户输入查询语句

 第二步:对查询语句进行词法分析,语法分析及语言处理

 第三步:搜索索引,得到符合文档

全文检索引擎

    全文检索引擎是目前广泛应用的主流搜索引擎

    它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每个词建立一个索引,指明该词在文章中出现的次数和位置当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式

    主流开源额全文检索引擎

    

 ElasticSearch相关概念

     ElasticSearch 是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库

    为什是ElasticSerach

        ElasticSearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的Restful API来隐藏Lucene的复杂性,从而让全文搜索变得简单

         分布式的实时文件存储,每个字段都被索引可被搜索

        分布式的实时分析搜索引擎

        可以扩展到奥上百台服务器,处理PB级结构化或非结构化数据

         所有的功能集成在一个服务里面,可以通过Restful api、各种语言的客户端甚至命令行与之交互,上手容易,提供了很多合理的缺省值,开箱即用,学习成本低。可免费下载、使用和修改、配置灵活

安装Es同时安装中文分词组件

    全文检索的测试

     curl -XPOST "http://192.168.199.112:9200/_analyzer=ik&pretty" -d '这是一个商品的标题'



    

    

查看评论

Elasticsearch全文检索系统实现深入详解

题记学习ES的童鞋,都有一个开发一个类似百度的搜索引擎的想法。当然功能不一定是百度、360、谷歌传统的搜索引擎那么强大。但是,能实现基本的全文检索、指定类型的检索、评分高低优先级排序等等。那么问题来了...
  • wojiushiwo987
  • wojiushiwo987
  • 2017-07-23 17:05:31
  • 3425

elasticsearch的实现全文检索

 转自:http://zhaoyanblog.com/archives/495.html            elasticsearch一个准实时的搜索引擎,基于lucene构建,它...
  • wilsonke
  • wilsonke
  • 2015-06-03 08:43:28
  • 3627

用 mongodb + elasticsearch 实现中文检索

而 elasticsearch 可以很好的支持各种语言的全文检索,但我们暂时又不想切换到 elasticsearch 作为后端数据库。 当然,可以在 web 应用中存储数据的时候,再主动写一份到 e...
  • yeasy
  • yeasy
  • 2015-08-21 21:24:06
  • 11904

elasticsearch 默认不支持检索hadoop

elasticsearch 支持多种类型的 gateway,有本地文件系统(默认),分布式文件系统,Hadoop 的 HDFS 和 amazon 的 s3 云存储服务。 那是0.x时代 早就被废弃了...
  • zhaoyangjian724
  • zhaoyangjian724
  • 2017-04-18 09:19:59
  • 583

MongoDB数据自动同步到ElasticSearch(实现中文全文检索)

问题-方案1.产品需要全文检索,数据库是使用的MongoDB,MongoDB的全文检索太慢,打算使用ElasticSearch2.方案1:利用 ElasticSearch 的 River 来同步数据,...
  • MyHerux
  • MyHerux
  • 2016-02-25 11:35:09
  • 2618

Elasticsearch全文检索实战小结——复盘我带的第二个项目

一、项目概述这是一个被我称之为“没有枪、没有炮,硬着头皮自己造”的项目。项目是和其它公司合作的三个核心模块开发。 使用ES的目的是: 1)、采集数据、网站数据清洗后存入ES; 2)、对外提供精确...
  • wojiushiwo987
  • wojiushiwo987
  • 2017-09-03 16:06:53
  • 2962

第二篇 应用elasticsearch进行简单的商品管理

一、集群健康检查和文档CRUD1. 快速查询集群的健康状况GET /_cat/health?v 了解集群的健康状况 green:每个索引的primary shard和replica shard都是...
  • R_P_J
  • R_P_J
  • 2017-10-27 20:12:24
  • 230

elasticsearch索引快速入门-实时全文搜索引擎

核心的功能就是搜索,全文搜索框架,接近实时的搜索强力搜索引擎依赖Lucene,新上传,修改的索引同步速度接近实时 es有很多新的名词例如node document index type id理解...
  • a283398689
  • a283398689
  • 2016-10-24 15:38:05
  • 5412

2 Elasticsearch全文检索和匹配查询

官网的翻译可参考:http://blog.csdn.net/dm_vincent/article/details/41693125 Elasticsearch主要功能就是完成模糊检索、字符串匹配,所...
  • tianyaleixiaowu
  • tianyaleixiaowu
  • 2017-06-02 12:20:26
  • 3278

Elasticsearch检索分类深入详解—基础篇

题记ES中当我们设立完Mapping(分词器、字段类型)完毕后,就可以按照设定的方式导入数据。 有了数据后,我们就需要对数据进行检索操作。根据实际开发需要,我们需要支持: * 1)精确匹配,类似m...
  • wojiushiwo987
  • wojiushiwo987
  • 2017-08-27 20:50:07
  • 5855
    个人资料
    持之以恒
    等级:
    访问量: 4842
    积分: 1085
    排名: 5万+
    文章存档