简易全文搜索引擎设计

  最近利用空闲时间实现了一个简易的全文搜索引擎,主要是把学的东西练一下手,目前支持简单的单词搜索和基于用户点击实学习。其他部分还在继续开发(本文主要用以记录设计思路,完整代码等主要的做出来提交。)

1. 基本流程

2. 主要模块

2.1  内容获取

  定时运行爬取程序。

2.2 分词

  调用结巴分词开源包(https://github.com/fxsjy/jieba)

2.3 基本数据组织结构

  2.3.1 单词与URL存取 

    URL: id, url
    Word: id, word
    urlConnetword: urlID, wordID

  2.3.2 DNN网络结构 

    Input_to_Hidden:  inputid, hiddenid
    Hidden_to_Output: hiddenid, outpudid
    举例:
    Input    ->      Hidden     -> output

    Word1
        -> Word1_to_word2_id -> URL(包含了Word1与Word2的URL)
    Word2

3. 个性推荐(后续补充)

时间: 2024-10-24 08:00:09

简易全文搜索引擎设计的相关文章

全文搜索引擎 ElasticSearch 还是 Solr?

最近项目组安排了一个任务,项目中用到了全文搜索,基于全文搜索 Solr,但是该 Solr 搜索云项目不稳定,经常查询不出来数据,需要手动全量同步,而且是其他团队在维护,依赖性太强,导致 Solr 服务一出问题,我们的项目也基本瘫痪,因为所有的依赖查询都无结果数据了.所以考虑开发一个适配层,如果 Solr 搜索出问题,自动切换到新的搜索--ES. 其实可以通过 Solr 集群或者服务容错等设计来解决该问题.但是先不考虑本身设计的合理性,领导需要开发,所以我开始踏上了搭建 ES 服务的道路,从零开始

全文搜索引擎 Elasticsearch 入门

1. 百科 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便. 2. 安装 依赖Java8,本文在Linux上运行 下载.解压 $ wget https://artifacts.elastic.co/downloads/ela

全文搜索引擎选 ElasticSearch 还是 Solr?

最近项目组安排了一个任务,项目中用到了基于 Solr 的全文搜索,但是该 Solr 搜索云项目不稳定,经常查询不出来数据,需要手动全量同步. 而且它还是其他团队在维护,依赖性太强,导致 Solr 服务一出问题,我们的项目也基本瘫痪,因为所有的依赖查询都无结果数据了. 所以考虑开发一个适配层,如果 Solr 搜索出问题,自动切换到新的搜索 ES.其实可以通过 Solr 集群或者服务容错等设计来解决该问题. 但是先不考虑本身设计的合理性,领导需要开发,所以我开始踏上了搭建 ES 服务的道路,从零开始

简易数字钟设计

简易数字钟设计 一.摘要 信息时代,时间观念深入人心,所以掌握数字钟的设计具有一定的时代意义,并且使用Multisim进行分立元件设计数字钟,可以大大提升个人数字电路的素养. 设计思路是从上至下,先进行数字钟整体框架的设计,考虑各个子芯片的预留端口,再逐个设计各个子电路模块.最终完成了时钟显示,调时,闹钟,定点报时以及万年历的功能.并且总的控制点预留了新功能的接入口,这样子就可以十分方便的进行新功能的加入. 目录 简易数字钟设计... 1 一.摘要... 1 二.前期准备... 2 1.数电知识

全文搜索引擎Elasticsearch初探

前言: 在Web应用或后台数据管理中,随着数据量的倍数增长,搜索引擎特别是全文搜索引擎的应用越来越迫切.基于技术和成本考虑,我们不可能去开发一个搜索引擎以满足我们的需求,庆幸的是业界已有许多优秀的开源搜索引擎可供我们使用,Elasticsearch便是其中之一. 简介: Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎库.但是,Lucene只是一个库.想要使用它,你

悟空:用Go语言编写的全文搜索引擎

最近Go语言1.5版正式发布,国内关于Go语言的学习和应用也逐渐火热,InfoQ也将关注并推动国内Go语言社区的发展.悟空开源项目是用Go语言编写的全文搜索引擎,InfoQ记者采访了它的作者陈辉,了解了这个项目背后的一些信息. 悟空搜索引擎的特点是高度可定制,具有如下特性: 高效索引和搜索(1M条微博500M数据28秒索引完,1.65毫秒搜索响应时间,19K搜索QPS) 支持中文分词(使用作者自己研发的Go语言中文分词工具sego分词包并发分词,速度27MB/秒) 支持计算关键词在文本中的紧邻距

sphinx 全文搜索引擎安装与配置

sphinx 全文搜索引擎 sphinx的安装与配置 --------------------------------------------------------------------------------------------- SQL   结构化查询语言(是一种标准,所有的关系型数据库Mysql,sqlserver,oracle) sphinx的使用两种方式: 第一种:  使用sphinx的API来操作sphinx   (常用)        sphinx可以使用API类,也可以将

电商论道---(2)Solr全文搜索引擎的准备工作

Solr是一个基于Lucene的全文搜索引擎,提供了更丰富的搜索语言,更灵活的配置,更高的查询效率.一句话,与Lucene相比,有过之而无不及.这一节里, 主要谈论两个知识点:Jdk的安装和Tomcat的安装. Solr服务器端使用的是JAVA,所以我们需要安装这两个软件. 有朋友可能说,安装这两个软件就不用讲了吧,其实不然, 对于.NET的同学来说,他们对这两个软件比较陌生. 首先要安装JDK,然后再安装Tomcat,按顺序安装 1.JDK的安装 1.1下载地址:http://www.orac

电商论道---(3)Solr全文搜索引擎的安装

接上篇,Solr的准备工作完成后,本节主要介绍Solr的安装,其实Solr不需要安装.直接下载就可以了 1.Solr安装 下载地址 :http://lucene.apache.org/solr/ 电商论道---(3)Solr全文搜索引擎的安装,码迷,mamicode.com