zoukankan      html  css  js  c++  java
  • 全文搜索 介绍

    首先数据是分为 结构化  和  非结构化的:

     非结构化数据的检索一般用下面2个方法:

    • 顺序扫描法
    • 全文搜索

    顺序扫描法,例:找一个包含 某字符 的文件,那么它会一个文件一个文件的查找,这个文件从头查到尾,直到找到为止。【适用于小数据量文件,因为要担心效率】

    全文搜索:把一些非结构化的数据 转为 结构化的数据,然后创建索引,实现搜索的目的【一般查询大文件、多文件 什么的..】,例:字典,里面有拼音、偏旁部首、笔画..这些就是 规则 或者说是 索引(结构化了)

    全文搜索实现原理:

    建立文本库  数据源

    建立索引  提取规律

    执行搜索  用户发起

    过滤结构  查询到的有些可能是脏数据等。。

    返回结果  用户接受

    全文搜索实现技术

    基于Java开源实现:

    1. Lucene
    2. ElasticSearch
    3. Solr

    Lucene:基于全文检索和搜寻的开源程序库,由Apache软件基金会支持和提供,有一个简单却强大的应用程序接口(API),能够做全文索引和搜寻,在Java开发环境里Lucene是一个成熟的免费开放源代码工具,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。

    Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。

    Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。【貌似仅支持Json 和 Xml  ,但未证实】

    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/15519106.html

  • 相关阅读:
    shop--6.店铺注册--service层实现(事务)
    shop--6.店铺注册--Dto的ShopExection(不知道有什么用)
    shop--6.店铺注册--使用thumbnailator进行图片处理
    shop--6.店铺注册
    shop--0.项目中遇到的问题 插入数据时,直接拿到自增的Id的方法
    shop--5.使用Junit进行项目框架的验证
    shop--4.配置数据库连接 jdbc.properties,mybatis相关,Spring配置
    shop--3.配置maven
    codeforces 495B. Modular Equations 解题报告
    BestCoder22 1002.NPY and arithmetic progression(hdu 5143) 解题报告
  • 原文地址:https://www.cnblogs.com/bi-hu/p/15519106.html
Copyright © 2011-2022 走看看