Lucene构建网站搜索系统

时间:2022-11-10 23:36:55

课程描述

随着互联网的快速发展,大大小小的网站每天都在诞生,开发网站搜索系统成为了网站开发中的一个难题。如果一个网站没有自己的网站搜索系统,用户将无法从快速增长的内容中找到自己想要的信息。使用中文分词等自然语言处理技术来提高搜索准确度是另外一个需要深入解决的难题。

 

结下来我们要共同学习的内容,就是要解决这些难题。我们共同来建立一套“网站搜索系统”,开发语言选择Java,主要用Lucene和Solr来开发。

 

购买地址:http://www.china-pub.com/3501034

 

项目介绍

项目平台

演示:Resin

语言:Jdk1.6

工具:Eclipse+SqlServer2005

 

涉及知识

语言基础:Html、JavaScript、Jquery、CSS、Java、SQL等。

使用框架:Lucene、Solr等。

 

技术亮点

介绍Lucene的使用,中文分词的原理及在Lucene中的应用。介绍企业搜索工具Solr以及使用优化。

 

功能分析

·    索引数据

·    关键词搜索

·    搜索界面

·    相关搜索词

·    拼音转换

·    输入框智能提示

·    搜索结果分类统计

·    用户搜索日志挖掘

·    Solr搜索服务

<!--&#x20;/*&#x20;Font&#x20;Definitions&#x20;*/&#x20;@font-face&nbsp; &nbsp; {font-family:宋体;&nbsp; &nbsp; panose-1:2&#x20;1&#x20;6&#x20;0&#x20;3&#x20;1&#x20;1&#x20;1&#x20;1&#x20;1;&nbsp; &nbsp; mso-font-alt:SimSun;&nbsp; &nbsp; mso-font-charset:134;&nbsp; &nbsp; mso-generic-font-family:auto;&nbsp; &nbsp; mso-font-pitch:variable;&nbsp; &nbsp; mso-font-signature:3&#x20;135135232&#x20;16&#x20;0&#x20;262145&#x20;0;}@font-face&nbsp; &nbsp; {font-family:"Cambria&#x20;Math";&nbsp; &nbsp; panose-1:2&#x20;4&#x20;5&#x20;3&#x20;5&#x20;4&#x20;6&#x20;3&#x20;2&#x20;4;&nbsp; &nbsp; mso-font-charset:0;&nbsp; &nbsp; mso-generic-font-family:roman;&nbsp; &nbsp; mso-font-pitch:variable;&nbsp; &nbsp; mso-font-signature:-1610611985&#x20;1107304683&#x20;0&#x20;0&#x20;159&#x20;0;}@font-face&nbsp; &nbsp; {font-family:Calibri;&nbsp; &nbsp; panose-1:2&#x20;15&#x20;5&#x20;2&#x20;2&#x20;2&#x20;4&#x20;3&#x20;2&#x20;4;&nbsp; &nbsp; mso-font-charset:0;&nbsp; &nbsp; mso-generic-font-family:swiss;&nbsp; &nbsp; mso-font-pitch:variable;&nbsp; &nbsp; mso-font-signature:-1610611985&#x20;1073750139&#x20;0&#x20;0&#x20;159&#x20;0;}@font-face&nbsp; &nbsp; {font-family:微软雅黑;&nbsp; &nbsp; panose-1:2&#x20;11&#x20;5&#x20;3&#x20;2&#x20;2&#x20;4&#x20;2&#x20;2&#x20;4;&nbsp; &nbsp; mso-font-charset:134;&nbsp; &nbsp; mso-generic-font-family:swiss;&nbsp; &nbsp; mso-font-pitch:variable;&nbsp; &nbsp; mso-font-signature:-2147483001&#x20;705641554&#x20;22&#x20;0&#x20;262175&#x20;0;}@font-face&nbsp; &nbsp; {font-family:Tahoma;&nbsp; &nbsp; panose-1:2&#x20;11&#x20;6&#x20;4&#x20;3&#x20;5&#x20;4&#x20;4&#x20;2&#x20;4;&nbsp; &nbsp; mso-font-charset:0;&nbsp; &nbsp; mso-generic-font-family:swiss;&nbsp; &nbsp; mso-font-pitch:variable;&nbsp; &nbsp; mso-font-signature:1627400839&#x20;-2147483648&#x20;8&#x20;0&#x20;66047&#x20;0;}@font-face&nbsp; &nbsp; {font-family:"/@微软雅黑";&nbsp; &nbsp; panose-1:2&#x20;11&#x20;5&#x20;3&#x20;2&#x20;2&#x20;4&#x20;2&#x20;2&#x20;4;&nbsp; &nbsp; mso-font-charset:134;&nbsp; &nbsp; mso-generic-font-family:swiss;&nbsp; &nbsp; mso-font-pitch:variable;&nbsp; &nbsp; mso-font-signature:-2147483001&#x20;705641554&#x20;22&#x20;0&#x20;262175&#x20;0;}@font-face&nbsp; &nbsp; {font-family:"/@宋体";&nbsp; &nbsp; panose-1:2&#x20;1&#x20;6&#x20;0&#x20;3&#x20;1&#x20;1&#x20;1&#x20;1&#x20;1;&nbsp; &nbsp; mso-font-charset:134;&nbsp; &nbsp; mso-generic-font-family:auto;&nbsp; &nbsp; mso-font-pitch:variable;&nbsp; &nbsp; mso-font-signature:3&#x20;135135232&#x20;16&#x20;0&#x20;262145&#x20;0;}&#x20;/*&#x20;Style&#x20;Definitions&#x20;*/&#x20;p.MsoNormal,&#x20;li.MsoNormal,&#x20;div.MsoNormal&nbsp; &nbsp; {mso-style-unhide:no;&nbsp; &nbsp; mso-style-qformat:yes;&nbsp; &nbsp; mso-style-parent:"";&nbsp; &nbsp; margin:0cm;&nbsp; &nbsp; margin-bottom:.0001pt;&nbsp; &nbsp; text-align:justify;&nbsp; &nbsp; text-justify:inter-ideograph;&nbsp; &nbsp; mso-pagination:none;&nbsp; &nbsp; font-size:10.5pt;&nbsp; &nbsp; mso-bidi-font-size:11.0pt;&nbsp; &nbsp; font-family:"Calibri","sans-serif";&nbsp; &nbsp; mso-fareast-font-family:宋体;&nbsp; &nbsp; mso-bidi-font-family:"Times&#x20;New&#x20;Roman";&nbsp; &nbsp; mso-font-kerning:1.0pt;}.MsoChpDefault&nbsp; &nbsp; {mso-style-type:export-only;&nbsp; &nbsp; mso-default-props:yes;&nbsp; &nbsp; font-size:10.0pt;&nbsp; &nbsp; mso-ansi-font-size:10.0pt;&nbsp; &nbsp; mso-bidi-font-size:10.0pt;&nbsp; &nbsp; mso-ascii-font-family:Calibri;&nbsp; &nbsp; mso-fareast-font-family:宋体;&nbsp; &nbsp; mso-hansi-font-family:Calibri;&nbsp; &nbsp; mso-font-kerning:0pt;}&#x20;/*&#x20;Page&#x20;Definitions&#x20;*/&#x20;@page&nbsp; &nbsp; {mso-page-border-surround-header:no;&nbsp; &nbsp; mso-page-border-surround-footer:no;}@page&#x20;WordSection1&nbsp; &nbsp; {size:612.0pt&#x20;792.0pt;&nbsp; &nbsp; margin:72.0pt&#x20;90.0pt&#x20;72.0pt&#x20;90.0pt;&nbsp; &nbsp; mso-header-margin:36.0pt;&nbsp; &nbsp; mso-footer-margin:36.0pt;&nbsp; &nbsp; mso-paper-source:0;}div.WordSection1&nbsp; &nbsp; {page:WordSection1;}-->


Lucene构建网站搜索系统》课程计划表

 


序号

培训内容

课时

1

搜索引擎简介

课程目标:了解如何使用搜索引擎以及搜索的高级语法。

课程内容:

  搜索引擎的高级语法如sitefiletype等。

   界面布局。

   搜索引擎的总体架构。

   网站搜索的常用功能。

1

2

全文检索与Lucene简介

课程目标:了解全文检索的基本原理与Lucene的基本使用。

课程内容:

  倒排索引的原理。

  Lucene的整体结构、基本概念。

  Lucene常用API的介绍与使用。

2

2

中文分词

课程目标:

l 中文分词的原理。

l Java实现的中文分词。

课程内容:

  Lucene中的中文分词。

  中文分词的常用方法。

  查找词典算法

  中文分词流程与结构

  形成切分词图

  最大概率分词方法

    N元分词方法

  未登录词识别

 词性标注

5

3

文本分类

课程目标:

 了解基于机器学习的文本分类的原理与实现。

  能够实现朴素贝叶斯文本分类方法。

   能够实现支持向量机文本分类方法。

课程内容:

  特征提取方法与实现。

 贝叶斯理论的原理。

 朴素贝叶斯文本分类方法与Java实现。

 支持向量机的原理。

 LibSVM介绍与Java实现的文本分类。

 基于规则的文本分类方法与实现。

6

4

实现搜索功能

课程目标:

 掌握搜索基本功能与扩展功能的实现。

课程内容:

  关键词飘红功能。

  输入框智能提示。

  搜索结果分类统计及层次展开功能。

  相关搜索词。

  实现“您是不是要找”功能。

  用户搜索日志挖掘。

8

5

搜索深入优化

课程目标:

 掌握提高搜索性能与改进结果排序的方法。

课程内容:

  索引优化与搜索优化

  实现时间加权排序。

  实现字词混合索引。

2

6

使用Solr实现网站搜索

课程目标:

 掌握如何使用solr实现前后台分离的网站搜索。

课程内容:

  Solr的原理与发展历程。

  Solr基本用法。

  Solr扩展与定制。包括ASP.NET的调用。

3