Lucene.net站内搜索—4、搜索引擎第一版技术储备(简单介绍Log4Net、生产者消费者模式)
目录
Lucene.net站内搜索—1、SEO优化
Lucene.net站内搜索—2、Lucene.Net简介和分词
Lucene.net站内搜索—3、最简单搜索引擎代码
Lucene.net站内搜索—4、搜索引擎第一版技术储备(简单介绍Log4Net、生产者消费者模式)
Lucene.net站内搜索—5、搜索引擎第一版实现
Lucene.net站内搜索—6、站内搜索第二版
我们先来看下百度搜索
aaarticlea/png;base64,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" alt="" />
用户保存一篇文章就把文章写入索引库
用户输入“我喜欢的季节”也可以搜索出含有“喜欢的”和“季节”的,这里用到了分词。query.Add(new Term("body',str))
搜索结果页面显示标题和帖子的一部分(帖子的前100个字)。点击标题可以进入帖子页面。我这里结果页面暂时不用分页。
英文搜索时要转换为小写的,因为盘古分词会默认把英文转化为小写保存。
面试可能会问的问题:Lucene.Net的原理:分词、B+树、索引。
如果搜索结果为空,看看是不是创建索引download下来的是乱码,因为如果download的是乱码,当然搜索不到
显示用Repeater,将搜索结果放到
public class SearchResultInfo
{
public string URL{get;set;}
public String Title { get; set; }
public String Summary { get; set; }
}
List< SearchResultInfo> list = new List< SearchResultInfo>();
repeater.DataSource=list;
把list绑定到Repeater,不考虑分页,设置一下Repeater的ItemTempelete
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate><a href="Eval('URL')" /></ItemTemplate>
</asp:Repeater>
对象中,然后绑定到ListView中,其实用Repeater也可以
<asp:ListView ID="listResult" runat="server">
<ItemTemplate>
<p>
<a href="<%#Eval("URL") %>"><%#Eval("Title") %></a></p>
<p>
<%#Eval("Summary")%></p>
</ItemTemplate>
<LayoutTemplate>
<asp:PlaceHolder ID="itemPlaceholder" runat="server" />
</LayoutTemplate>
<EmptyDataTemplate>
<p>
No Result</p>
</EmptyDataTemplate>
</asp:ListView>
Log4Net
这里我简单介绍下Log4Net,因为后面用得到。
Log4Net是用来记录日志的,可以将程序运行过程中的信息输出到一些地方(文件、数据库、EventLog等),日志就是程序的黑匣子,可以通过日志查看系统的运行过程,从而发现系统的问题。日志的作用:将运行过程的步骤、成功失败记录下来,将关键性的数据记录下来分析系统问题所在。Log4J。
对于网站来讲,不能把异常信息显示给用户,异常信息只能记录到日志,出了问题把日志文件发给开发人员,就能知道问题所在。
Log4net的安装:
用户可以从http://logging.apache.org/log4net/下载log4net的源代码。解压软件包后,在解压的src目录下将log4net.sln载入Visual Studio .NET,编译后可以得到log4net.dll。用户要在自己的程序里加入日志功能,只需将log4net.dll引入工程即可。
配置Log4Net环境
- 新建一个WebApplication
- 添加对log4net.dll的引用(bin\net\2.0\release)
- 在Web.Config (或App.Config)添加配置,见备注
- 初始化:在程序最开始加入log4net.Config.XmlConfigurator.Configure();不要加到页面的Load
- 在要打印日志的地方LogManager.GetLogger(typeof(Program)).Debug("信息"); 。通过LogManager.GetLogger传递要记录的日志类类名获得这个类的ILog(这样在日志文件中就能看到这条日志是哪个类输出的了),然后调用Debug方法输出消息。因为一个类内部不止一个地方要打印日志,所以一般把ILog声明为一个static字段。
- 输出错误信息用ILog.Error方法,第二个参数可以传递Exception对象。log.Error("***错误"+ex),log.Error("***错误",ex)
- 测试代码:见下面。
log("准备执行数据库清理"+DateTime.Now);
try
{
clear();
log("清理成功"+DateTime.Now);
}
catch(Excepion ex)
{
log("清理失败"+DateTime.Now+ex);
}在VS2010中的控制台项目引用Log4Net的时候要将项目的“目标框架”改为非“Client Profile”
备注:
1、Log4Net配置
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<!-- Define some output appenders -->
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="test.txt"/>
<appendToFile value="true"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="1024KB"/>
<rollingStyle value="Size"/>
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>
<root>
<level value="DEBUG"/>
<appender-ref ref="RollingLogFileAppender"/>
</root>
</log4net>
</configuration>2、完整示例
class Program
{
private static ILog log = LogManager.GetLogger(typeof(Program));
static void Main(string[] args)
{
log4net.Config.XmlConfigurator.Configure();
log.Debug("开始运行");
string s = Console.ReadLine();
log.Debug("用户输入:"+s);
try
{
int i = Convert.ToInt32(s);
}
catch (Exception ex)
{
log.Error("用户输入的数据错误:" + s, ex);
}
Console.ReadKey();
log.Debug("程序退出");
}生产者消费者模式
生产者、消费者模式:生产者、消费者不用互相等待,用仓库做缓冲。简单原理性代码见备注
- 举例:多线程操作同一个文件时会出现并发问题。解决的一个办法就是给文件加锁(lock),但是这样的话,一个线程操作文件时,其它的都得等待,这样的话性能非常差。另外一个解决方案,就是先将数据放在队列中,然后开启一个线程,负责从队列中取出数据,再写到文件中。
因为同时只能有一个线程对索引库进行写操作,所以以一种策略(联想火车中等厕所可用,红灯/绿灯就是标志是否有人在用)是一直检测是否厕所可用,带来的问题就是效率低;另外一种策略就是委托给乘务员排队处理,这样就可以去干别的。
队列(先入先出):Queue、ConcurrentQueue(*线程安全,多线程中用这个)。栈(*):Stack:先进后出。
发邮件、发短信偶尔会遇到半个小时才收到的情况就是在排队处理。
Demo:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace 生产者消费者模式
{
class Program
{
//仓库
static List<int> list = new List<int>();
static void Main(string[] args)
{
//while (true)
//{
// Console.WriteLine("请输入一个数字");
// int i = Convert.ToInt32(Console.ReadLine());
// 耗时操作.Process(i);
//}
//消费线程
Thread thread = new Thread(ThreadRun);
thread.Start();
//生产线程
while (true)
{
Console.WriteLine("请输入一个数字");
int i = Convert.ToInt32(Console.ReadLine());
list.Add(i);//把任务放入仓库
}
}
static void ThreadRun()
{
while (true)
{
//如果仓库中有产品,就消费
if (list.Count > )
{
int i = list[];//有线程安全问题
list.RemoveAt();//消费完毕后从仓库移除
Thread.Sleep(5000);//模拟耗时操作.Process(i);
}
}
}
}
}
Lucene.net站内搜索—4、搜索引擎第一版技术储备(简单介绍Log4Net、生产者消费者模式)的更多相关文章
- Lucene.net站内搜索—5、搜索引擎第一版实现
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...
- Lucene.net站内搜索—3、最简单搜索引擎代码
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...
- Lucene.net站内搜索—6、站内搜索第二版
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...
- Lucene.net站内搜索—2、Lucene.Net简介和分词
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...
- Lucene.net站内搜索—1、SEO优化
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...
- Lucene.Net 站内搜索
Lucene.Net 站内搜索 一 全文检索: like查询是全表扫描(为性能杀手)Lucene.Net搜索引擎,开源,而sql搜索引擎是收费的Lucene.Net只是一个全文检索开发包(只是帮我们 ...
- Lucene.net站内搜索-最简单搜索引擎代码
Lucene.Net核心类简介 先运行写好的索引的代码,再向下讲解各个类的作用,不用背代码. (*)Directory表示索引文件(Lucene.net用来保存用户扔过来的数据的地方)保存的地方,是抽 ...
- 百度站内搜索https不可用切换api搜索,加上谷歌api站内搜索
google推https几年了,百度开始宣传全面https,但是,百度站内搜索 自己的服务却不走https,接口报错.百度分享也是. 然后采用http://search.zhoulujun.cn/cs ...
- 基于lucene.net 和ICTCLAS2014的站内搜索的实现1
Lucene.net是一个搜索引擎的框架,它自身并不能实现搜索.须要我们自己在当中实现索引的建立,索引的查找.全部这些都是依据它自身提供的API来实现.Lucene.net本身是基于java的,可是经 ...
随机推荐
- java中string内存的相关知识点
(一):区别java内存中堆和栈: 1.栈:数据可以共享,存放基本数据类型和对象的引用,其中对象存放在堆中,对象的引用存放在栈中: 当在一段代码块定义一个变量时,就在栈中 为这个变量分配内存空间,当该 ...
- Linux快速入门01-基础概念
4年多前,刚到上海时报过一个关于Oracle的培训班,在那里接触到了Linux,不过一直都没真正去试着使用它.现在经过慢慢的成长,越来越觉得,Linux是每一个服务端工程师必须掌握的系统,即使是现在最 ...
- Html与CSS快速入门02-HTML基础应用
这部分是html细节知识的学习. 快速入门系列--HTML-01简介 快速入门系列--HTML-02基础元素 快速入门系列--HTML-03高级元素和布局 快速入门系列--HTML-04进阶概念 示例 ...
- 当你还在纠结于ORM的性能时,我已经远远的把你抛在脑后
最近找工作面试,问到一些过去的工作和项目经验.我把公司用到的ORM框架(LLBL Gen)拿出来谈一谈,说一下他的优势,对方却一直追问ORM的好处,性能方面的问题,让我有时候都不知道如何回答,产生了不 ...
- switch判断注意点
if判断,如果判断的两个值类型不同,会继续隐性转换,==,当然如果使用===就不会. 1 if(2=="2"){ 2 console.log("true"); ...
- <C#>找出数组中重复次数最多的数值
给定一个int数组,里面存在重复的数值,如何找到重复次数最多的数值呢? 这是在某社区上有人提出的问题,我想到的解决方法是分组. 1.先对数组中的所有元素进行分组,那么,重复的数值肯定会被放到一组中: ...
- javascript类型系统——字符串String类型
× 目录 [1]定义 [2]引号 [3]反斜线[4]特点[5]转字符串 前面的话 javascript没有表示单个字符的字符型,只有字符串String类型,字符型相当于仅包含一个字符的字符串 字符串S ...
- sublime简要笔记
选中单词 [1]选中当前单词 ctrl+d [2]跳过当前单词 ctrl+k ctrl+d [3]选中相同的所有单词 alt+f3 [4]多行游标 按住shift,然后按住鼠标右键向下拖动 行操作 [ ...
- javaweb -- 获取请求IP(附实现源码)
实现步骤如下: (1)新建一个java web工程 (2)新建servers包,新建类GetRequestIp,用来处理获取请求IP,GetRequestIp类完整代码如下: package serv ...
- Java多线程系列--“JUC集合”05之 ConcurrentSkipListMap
概要 本章对Java.util.concurrent包中的ConcurrentSkipListMap类进行详细的介绍.内容包括:ConcurrentSkipListMap介绍ConcurrentSki ...