文本挖掘系列文章4

Posted 机器学习和自然语言处理

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文本挖掘系列文章4相关的知识,希望对你有一定的参考价值。

文本挖掘系列文章4

机器学习和自然语言处理
公众号ID:datathinks

声明

本文原创,转载需授权!


搜索已经作为生活中不可缺少的一部分,诸如:百度、google、还是在微信上寻找好友或者通过一段文本查找关键字。另外亚马逊、京东、天猫、苏宁等电商在搜索中也是别有洞天(多面搜索等)。对于开发人员,搜索往往是大部分应用的关键功能,特别是对大规模文本数据驱动应用更是如此。另一类搜索像语音智能检索,其采用分类、聚类、神经网络等方法进行模型评估,反馈给用户比较理想的匹配结果,这里需要强调的是其采用评分机制反馈的模糊近似查询结果,与传统精确采用是不一样的。这种结果的反馈评分主要依托正确率和召回率。这里自己构建搜索工具好处在于:灵活性、开发费用低、自己更了解自己的搜索工具、价格当然是免费的啦。本文作者花费大量时间,经过资料收集,研究和实验所得,旨在技术分享。

自己动手搭建搜索工具
1
 Apache Solor 搜索服务器
(1) Solr是什么

Solr它是一种开放源码的、基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中。Solr 提供了层面搜索(就是统计)、命中醒目显示并且支持多种输出格式(包括XML/XSLT 和JSON等格式)。它易于安装和配置,而且附带了一个基于HTTP 的管理界面。可以使用 Solr 的表现优异的基本搜索功能,也可以对它进行扩展从而满足企业的需要。Solr的特性包括:

  • 高级的全文搜索功能

  • 专为高通量的网络流量进行的优化

  • 基于开放接口(XML和HTTP)的标准

  • 综合的html管理界面

  • 可伸缩性-能够有效地复制到另外一个Solr搜索服务器

  • 使用XML配置达到灵活性和适配性

  • 可扩展的插件体系

(2) Lucene 是什么?

Lucene是一个基于Java的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta(雅加达) 家族中的一个开源项目。也是目前最为流行的基于Java开源全文检索工具包。目前已经有很多应用程序的搜索功能是基于 Lucene ,比如Eclipse 帮助系统的搜索功能。Lucene能够为文本类型的数据建立索引,所以你只要把你要索引的数据格式转化的文本格式,Lucene 就能对你的文档进行索引和搜索。

(3) Solr vs Lucene

Solr与Lucene 并不是竞争对立关系,恰恰相反Solr 依存于Lucene,因为Solr底层的核心技术是使用Lucene 来实现的,Solr和Lucene的本质区别有以下三点:搜索服务器,企业级和管理。Lucene本质上是搜索库,不是独立的应用程序,而Solr是。Lucene专注于搜索底层的建设,而Solr专注于企业应用。Lucene不负责支撑搜索服务所必须的管理,而Solr负责。所以说,一句话概括 Solr: Solr是Lucene面向企业搜索应用的扩展。Solr使用Lucene并且扩展了它!一个真正的拥有动态字段(Dynamic Field)和唯一键(Unique Key)的数据模式(Data Schema)

  • 对Lucene查询语言的强大扩展!

  • 支持对结果进行动态的分组和过滤

  • 高级的,可配置的文本分析

  • 高度可配置和可扩展的缓存机制

  • 性能优化

  • 支持通过XML进行外部配置

  • 拥有一个管理界面

  • 可监控的日志

  • 支持高速增量式更新(Fast incremental Updates)和快照发布(Snapshot Distribution)

2
下载安装Solr


Solr程序包的部分目录结构

  • dist:存放Solr 构建完成的JAR 文件、WAR 文件和Solr 依赖的JAR 文件。

  • example:是一个安装好的Jetty 中间件,其中包括一些样本数据和Solr 的配置信息。

  • example/etc:Jetty 的配置文件。

  • example/multicore:当安装Slor multicore 时,用来放置多个Solr 主目录。

  • example/solr:默认安装时一个Solr 的主目录。

  • example/webapps:Solr 的WAR 文件部署在这里。

Solr 的主目录展开后为如下结构:

  • bin:建议将集群复制脚本放在这个目录下。

  • conf:放置配置文件。

  • conf/schema.xml:建立索引的schema 包含了字段类型定义和其相关的分析器。

  • conf/solrconfig.xml:这个是Solr 主要的配置文件。

  • conf/xslt:包含了很多xslt 文件,这些文件能将Solr 的XML 的查询结果转换为特定的格式,比如:Atom/RSS。

  • data:放置Lucene 产生的索引数据。

  • lib:放置可选的JAR 文件比如对Slor 扩展的插件,这些JAR 文件将会在Solr 启动时加载。

(2)在example目录有start.jar文件,启动:浏览器访问:http://localhost:8983/solr/,你看到的就是solr的管理界面:

cd  C:\Users\bnc\Desktop\NPL\apache-solr\example

java -jar start.jar  

文本挖掘系列文章4

目前你看到的界面没有任何数据,你可以通过POSTing命令向Solr中添加(更新)文档,删除文档,在exampledocs目录包含一些示例文件,运行命令:

cd exampledocs
java -jar post.jar *.xml


文本挖掘系列文章4

3
Solr在Tomcat集成配置

(1) 下载solr源文件与tomcat源文件

(2) 建立文件夹命名solr放置3个文件夹:

  •  solr-4.8.0examplesolr文件夹改名home

  •  tomcat改名server  

  •  solr-4.8.0dist下solr-4.8.0.war改名solr.war放在solrserverwebapps下

文本挖掘系列文章4

(3) 打开solrserverconf下server.xml  <Host></Host>放入

(c)2006-2024 SYSTEM All Rights Reserved IT常识