分词

Sping Cloud 分布式数据存储 分布式事务 超级有用

假装没事ソ 提交于 2019-11-28 04:16:31
Sping Cloud 分布式数据存储 分布式事务 常见搜索引擎 1. Lucene 搜索引擎库,功能强大,接入复杂 2. Solr 基于Lucene的搜索引擎服务器 3. Elasticsearch 基于Lucene的搜索引擎服务器,分布式 Elasticsearch基础概念3-1 node 节点,部署Elasticsearch程序的服务器 cluster 集群,多个节点组成的架构 index 索引,相当于关系型数据库的database shard 索引分片,索引可以被设置为多个分片 replicas 索引副本 Elasticsearch基础概念3-2  type 类型,对应于关系型数据库的table document 文档,类似于关系型数据库的row 关系型数据库 Elasticsearch Database index Table type Row document Elasticsearch基础概念3-3  文档三元素 _index:文档对应的索引 _type:文档对应的数据类型 _ID:文档的唯一ID Elasticsearch客户端 - Kibana  Kibana → Dev Tools Elasticsearch命令分类 索引管理 创建、配置、删除索引 文档管理 创建、修改、删除文档 数据查询 空查询 指定索引查询、指定类型查询 请求体查询(过滤查询

使用Python实现简单的搜索引擎,完整源码

ε祈祈猫儿з 提交于 2019-11-27 16:31:27
版权声明:转载请注明出处! https://blog.csdn.net/qq_35993946/article/details/88087827 这是博主我大学期间写的课程设计,希望能对看这篇博客的你有所帮助。 课程设计主要要求如下: 结合本学期《信息检索与搜索引擎技术》课程教学内容,利用网络爬虫技术、文档倒排索引技术、向量空间模型技术、检索排序技术,编写一个搜索引擎系统,系统能够实现根据输入关键词检索出与查询关键词相关的文档,并写出对应的程序设计及实现报告。具体要求如下: 利用网络爬虫技术编写程序实现从互联网中动态爬去网页数据; 利用分词工具(如ICTCLAS、结巴分词等)实现对爬取的文本进行分词,并建立倒排索引; 利用向量空间模型对分词后的文本及查询文本进行向量化表示,并计算查询向量和文档向量之间的相似性; 利用BM25算法、统计语言模型方法、或PageRank算法计算查询文本与文档之间的相关度得分,并根据相关度得分对文档进行排序。 目录 一、 系统概述 1.1搜索引擎概述 1.2本搜索引擎概述 二、 系统需求分析 2.1云南旅游业分析 2.2系统可行性分析 三、算法原理及程序实现 3.1系统架构设计 3.2网络爬虫 3.2.1网络爬虫简介 3.2.2网页分析 3.3结巴分词并建立索引 3.3.1结巴分词简介 3.3.2倒排索引原理 3.3.3程序实现 3.4向量空间模型 3

solr简介

空扰寡人 提交于 2019-11-27 12:46:13
Solr 是什么? Solr它是一种开放源码的、基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中。 Solr 提供了层面搜索(就是统计)、命中醒目显示并且支持多种输出格式(包括XML/XSLT 和JSON等格式)。 它易于安装和配置,而且附带了一个基于HTTP 的管理界面。可以使用 Solr 的表现优异的基本搜索功能,也可以对它进行扩展从而满足企业的需要。 在eclipse中调试solr,便于我们更加的清晰的了解solr的运行原理,下面详细的写一下如何eclipse部署solr(4.10.0版本)的web工程。 首先新建一个动态的Web工程 删除WebContent下的所有内容, 到解压后的solr的solr-4.10.0\example\webapps目录下, 解压solr.war包后,然后拷贝解压后所有的东西(除了solr.war本身),到刚才被清空的WebContent目录下: 拷贝完后的项目工程如下所以,有时候这里可能由于js校验出错,不影响运行,可忽略,如果有洁癖的同学们,可以找下,如何去掉js的校验即可。 在WebContent下新建一个solr_home文件夹,用来存放核心(索引库) 将解压后的 solr 4.10.0文件夹下的exampke下的mukticore内的所有文件 拷贝到solr_home文件夹中: 修改web.xml中 <env

elasticsearch教程--中文分词器作用和使用

喜你入骨 提交于 2019-11-27 10:59:46
目录 概述 环境准备 认识中文分词器 常用的中文分词器 IK Analyzer hanlp中文分词器 彩蛋 概述 上一篇博文记录了 elasticsearch插件安装和管理 , 在地大物博的祖国使用es,不得不考虑中文分词器,es内置的分词器对中文分词的支持用惨不忍睹来形容不为过,看这篇博文之前,建议先看一下博文 elasticsearch分词器 ,对分词器有个初步理解。本文将记录一下项目中如何使用选用和使用中文分词器的,希望能够帮助到即将来踩坑的小伙伴们,欢迎批评指正 本文都是基于 elasticsearch安装教程 中的elasticsearch安装目录(/opt/environment/elasticsearch-6.4.0)为范例 环境准备 全新最小化安装的centos 7.5 elasticsearch 6.4.0 认识中文分词器 在博文 elasticsearch分词器 中提到elasticsearch能够快速的通过搜索词检索出对应的文章归功于倒排索引,下面通过中文举例看看倒排索引。 中文分词器作用以及效果 中文分词器是做什么的呢? what? 通过名字就知道了啊,为什么还要问。。。下面通过三个文档示例,看看它是如何分词的 文档1: 我爱伟大的祖国 文档2: 祝福祖国强大繁盛 文档3: 我爱蓝天白云 经过中文分词器,以上文档均会根据分词规则,将文档进行分词后的结果如下:

Lucene的中文分词器IKAnalyzer

僤鯓⒐⒋嵵緔 提交于 2019-11-27 09:43:23
分词器对英文的支持是非常好的。 一般分词经过的流程: 1)切分关键词 2)去除停用词 3)把英文单词转为小写 但是老外写的分词器对中文分词一般都是单字分词,分词的效果不好。 国人林良益写的IK Analyzer应该是最好的Lucene中文分词器之一,而且随着Lucene的版本更新而不断更新,目前已更新到IK Analyzer 2012版本。 IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。到现在,IK发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。在2012版本中,IK实现了简单的分词歧义排除算法,标志着IK分词器从单纯的词典分词向模拟语义分词衍化。 在系统环境:Core2 i7 3.4G双核,4G内存,window 7 64位, Sun JDK 1.6_29 64位 普通pc环境测试,IK2012具有160万字/秒(3000KB/S)的高速处理能力。 特别的,在2012版本,词典支持中文,英文,数字混合词语。 IK Analyzer 2012版本的分词效果示例: IK Analyzer2012版本支持 细粒度切分 和 智能切分。 我们看两个演示样例: 1)文本原文1: IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版本开始

基于mysql全文索引的深入理解

帅比萌擦擦* 提交于 2019-11-27 09:40:20
前言:本文简单讲述全文索引的应用实例,MYSQL演示版本5.5.24。 Q:全文索引适用于什么场合? A:全文索引是目前实现大数据搜索的关键技术。 至于更详细的介绍请自行百度,本文不再阐述。 -------------------------------------------------------------------------------- 一、如何设置? 如图点击结尾处的{全文搜索}即可设置全文索引,不同MYSQL版本名字可能不同。 二、设置条件 1.表的存储引擎是MyISAM,默认存储引擎InnoDB不支持全文索引(新版本MYSQL5.6的InnoDB支持全文索引) 2.字段类型:char、varchar和text 三、配置 my.ini配置文件中添加 # MySQL全文索引查询关键词最小长度限制 [mysqld] ft_min_word_len = 1 保存后重启MYSQL,执行SQL语句 复制代码 代码如下: SHOW VARIABLES 查看ft_min_word_len是否设置成功,如果没设置成功请确保 1.确认my.ini正确配置,注意不要搞错my.ini的位置 2.确认mysql已经重启,实在不行重启电脑 其他相关配置请自行百度。 注: 重新设置配置后,已经设置的索引需要重新设置生成索引 四、SQL语法 首先生成temp表 复制代码 代码如下:

python生成词云图

孤街浪徒 提交于 2019-11-27 05:58:57
数据准备,猫眼评论爬取了大概50多万条数据,详细请看 # -*- coding:utf-8 -*- import re # 正则表达式库 import collections # 词频统计库 import numpy as np # numpy数据处理库 import jieba # 结巴分词 import wordcloud # 词云展示库 from PIL import Image # 图像处理库 import matplotlib . pyplot as plt # 图像展示库 # 读取文件 fp = open ( r 'E:\python\self\comment\comment.txt' , encoding = 'utf-8' ) # 打开文件 string_data = fp . read ( ) # 读出整个文件 fp . close ( ) # 关闭文件 # 文本预处理 pattern = re . compile ( u '\t|\n|\.|-|:|;|\)|\(|\?|\*|!|"' ) # 定义正则表达式匹配模式 string_data = re . sub ( pattern , '' , string_data ) # 将符合模式的字符去除 # 文本分词 seg_list_exact = jieba . cut ( string_data , cut

Elasticsearch:ICU分词器介绍

霸气de小男生 提交于 2019-11-27 02:57:22
ICU Analysis插件是一组将Lucene ICU模块集成到Elasticsearch中的库。 本质上,ICU的目的是增加对Unicode和全球化的支持,以提供对亚洲语言更好的文本分割分析。 从Elasticsearch的角度来看,此插件提供了文本分析中的新组件,如下表所示: 安装 我们可以首先到Elasticsearch的安装目录打入如下的命令: $ pwd /Users/liuxg/elastic/elasticsearch-7.3.0 (base) localhost:elasticsearch-7.3.0 liuxg$ ./bin/elasticsearch-plugin list analysis-icu analysis-ik pinyin 上面显示我已经安装好了三个插件。上面的 analysis-ik 及 pinyin 都是为中文而准备的。这在我之前的文章中都有介绍。请详细阅读。 注意 :如果你们在使用上面的elasticsearch-plug list命名出现如下的错误的话: 那么请使用如下的命令来删除在当前目录下的.DS_Store目录: sudo find /Path/to/your/elasticsearch-folder -name ".DS_Store" -depth -exec rm {} \; 然后重新运行上面的命令就不会有问题了。

Elasticsearch:IK中文分词器

我是研究僧i 提交于 2019-11-27 02:54:47
Elasticsearch内置的分词器对中文不友好,只会一个字一个字的分,无法形成词语,比如: POST /_analyze { "text": "我爱北京天安门", "analyzer": "standard" } 如果我们使用的是standard的分词器,那么结果就是: { "tokens" : [ { "token" : "我", "start_offset" : 0, "end_offset" : 1, "type" : "<IDEOGRAPHIC>", "position" : 0 }, { "token" : "爱", "start_offset" : 1, "end_offset" : 2, "type" : "<IDEOGRAPHIC>", "position" : 1 }, ... { "token" : "门", "start_offset" : 6, "end_offset" : 7, "type" : "<IDEOGRAPHIC>", "position" : 6 } ] } 显然这对中文来说并不友好,它显示的每一个汉字。好在Elastic的大拿medcl已经为我们做好IK中文分词器。下面我们来详细介绍如何安装并使用中文分词器。具体的安装步骤可以在地址 https://github.com/medcl/elasticsearch-analysis-ik 找到

ElasticSearch基础知识

纵饮孤独 提交于 2019-11-27 00:55:36
简介 ElasticSearch(以下简称ES)是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎。基于RESTful web接口。要想深入了解 ES,需要先对 Lucene 有一个清晰的认识,那么什么是 Lucene 呢? Lucene 普通数据库的缺陷: 没有高效的索引方式,查询的速度在大量数据的情况下很慢 搜索效果差,只能对用户输入的完整关键字进行首尾模糊匹配 用户搜索时如果错输,则查询的结果可能差别很大 搜索引擎 搜索引擎是指根据一定的策略,运用特定的计算机程序从互联网上搜集信息,对信息进行组织和处理后,为用户提供检索服务。将用户检索相关的信息展示给用户的系统。 分类: 垂直搜索:通常也叫做细分,指专门针对某一类信息进行搜索 综合搜索:是指对众多信息进行综合性的搜索,如:百度、谷歌。。。 站内搜索:对网站内部的信息进行搜索,对自己数据库进行搜索 软件内部搜索:如 word / idea 进行搜索 倒排索引技术 倒排索引(反向索引)以词条为索引,表中关键字对应的记录项记录了出现这个字或词的所有文档,每一个表项记录该文档的ID和关键字在该文档中出现的位置情况 全文检索 计算机对文档的全部内容进行分词,对每个词建立一个索引,索引记录单词出现的位置和c Lucene 是一个开源的全文检索引擎工具包 安装 bin:脚本目录,包括:启动、停止等可执行脚本