前言:最近翻开了之前老杨(杨中科)的Lucene.Net站内搜索项目的教学视频,于是作为老杨脑残粉的我又跟着复习了一遍,学习途中做了一些笔记也就成了接下来您看到的这篇博文,仅仅是我的个人笔记,大神请呵呵一笑而过.相信做过站内搜索的.Net程序员应该对Lucene.Net不陌生,没做过的也许会问:就不是个查询嘛!为什么不能使用Like模糊查找呢?原因很简单:模糊查询的契合度太低,匹配关键字之间不能含有其他内容.最重要的是它会造成数据库全表扫描,效率低下,即使使用视图,也会造成数据库服务器"亚历山大…
前言:上一篇我们学习了Lucene.Net的基本概念.分词以及实现了一个最简单的搜索引擎,这一篇我们开始开发一个初具规模的站内搜索项目,通过开发站内搜索模块,我们可以方便地在项目中集成站内搜索功能.本次示例Demo麻雀虽小,五脏俱全,值得学习. 一.项目初窥 1.1 项目背景 本项目模拟一个BBS论坛的文章内容管理系统,当用户发帖之后首先将内容存到数据库,然后对内容进行分词后存入索引库.因此,当用户在论坛站内搜索模块进行搜索时,会直接从索引库中进行匹配并获取查询结果.站内搜索界面的效果如下图所示…
  1.    为什么要使用Sphinx   假设你现在运营着一个论坛,论坛数据已经超过100W,很多用户都反映论坛搜索的速度非常慢,那么这时你就可以考虑使用Sphinx了(当然其他的全文检索程序或方法也行). 2.    Sphinx是什么   Sphinx由俄罗斯人Andrew Aksyonoff 开发的高性能全文搜索软件包,在GPL与商业协议双许可协议下发行. 全文检索是指以文档的全部文本信息作为检索对象的一种信息检索技术.检索的对象有可能是文章的标题,也有可能是文章的作者,也有可能是文章…
前言 这次开发的博客主要功能或特点:    第一:可以兼容各终端,特别是手机端.    第二:到时会用到大量html5,炫啊.    第三:导入博客园的精华文章,并做分类.(不要封我)    第四:做个插件,任何网站上的技术文章都可以转发收藏 到本博客. 所以打算写个系类:<一步步搭建自己的博客> 一步步开发自己的博客  .NET版(1.页面布局.blog迁移.数据加载) 一步步开发自己的博客  .NET版(2.评论功能) 一步步开发自己的博客  .NET版(3.注册登录功能) 一步步开发自己…
免费站内全文检索服务来了,是的,你没听错.全文检索相信大家已经不太陌生,主流检索服务有sphinx.xunsearch等,但这些都受服务器限制,对于中小站长尤其是没有服务器实现就困难了,随着数据量的增大,传统的数据库检索根本达不到对速度和准确性的需求. 现在,Xungle提供免费全文检索服务,Xungle 率先把全文检索作为完整服务的形式提供友好接口供调用:彻底解决了站内全文检索之难:Xungle 还直接为流行的 phpwind/discuz论坛.dedecms.HDwiki站点提供插件式的搜索…
     继上次匆匆搭建起结合solr和nutch的所谓站内搜索引擎之后,虽当时心中兴奋不已,可是看了看百度,再只能看看我的控制台的打印出每个索引项的几行文字,哦,好像差距还是有点大……        简陋的信息显示环境最起码给了我一个信号,这条路没有走错,好吧,让我们来继续探索搜索引擎的奥秘吧.        上期回顾:上次主要是介绍了solrj,通过solrj的api与solr服务器进行通信,获取服务器上的索引数据以及在编写程序中遇到的一些问题和解决方法.本期主要是建立与solr服务器的通信…
google推https几年了,百度开始宣传全面https,但是,百度站内搜索 自己的服务却不走https,接口报错.百度分享也是. 然后采用http://search.zhoulujun.cn/cse/search ,用了7-8个月的样子,还是继续,不声不响地 改变了配置了,突然就不通了——而且什么时候不通的都不知道 无赖,无奈,只有用google 自定义搜索引擎,用api 接口弄好 用google search API配置google站内搜索 谷歌搜索引擎定制化页面地址 https://cs…
     继上次匆匆搭建起结合solr和nutch的所谓站内搜索引擎之后,虽当时心中兴奋不已,可是看了看百度,再只能看看我的控制台的打印出每个索引项的几行文字,哦,好像差距还是有点大……      简陋的信息显示环境最起码给了我一个信号,这条路没有走错,好吧,让我们来继续探索搜索引擎的奥秘吧.      上期回顾:上次主要是介绍了solrj,通过solrj的api与solr服务器进行通信,获取服务器上的索引数据以及在编写程序中遇到的一些问题和解决方法.本期主要是建立与solr服务器的通信,提供搜…
es站内站内搜索笔记(一) 第一节: 概述 使用elasticsearch进行网站搜索,es是当下最流行的分布式的搜索引擎及大数据分析的中间件,搜房网的主要功能:强大的搜索框,与百度地图相结合,实现地图找房,包括前台模块和后台模块. elasticsearch + mysql +kafka实现站内搜索引擎 elasticsearch +nginx实现负载均衡 elk(elasticsearch +logstach+kibana)实现网站分析流量统计 网站技术: springboot+mysql+…
自那些平凡而伟大的程序猿开发了内容管理系统(cms),为了让看客们更快地找到自己感兴趣的内容,他们不断完善站内搜索代码,形成了一个小型的站内搜索引擎.可能有些网站模板设计师没考虑到seo的问题,很多站内搜索结果列表页面标题都是一样,造成很多重复页面,虽然可以屏蔽蜘蛛访问搜索结果页面. 这里,ytkah谈谈怎样为dedecms站内搜索结果列表页添加第x页(序号).之前我们写过为dedecms文章列表页标题增加序号,道理是一样的 打开/templets/default/search.htm,找到<t…
今春,Google 计划终止又一项产品,它就是“站内搜索”(Site Search)功能.这项产品主要出售给 web 出版商,让它们可以在自家网站内运用业内领先的搜索技术.虽然该公司并未公开宣布此事,但根据周二发给客户与合作伙伴的邮件,Google 还是披露了它们的计划 —— 终止这款诞生于 2008 年前后的产品.时代变迁,有点感慨,不过搜易站内搜索引擎依然坚守这一个小小的领域. 根据<财富>获得的邮件副本:老用户可以在授权期内继续使用 Google Site Search(简称 GSS)服…
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4.搜索引擎第一版技术储备(简单介绍Log4Net.生产者消费者模式)Lucene.net站内搜索—5.搜索引擎第一版实现Lucene.net站内搜索—6.站内搜索第二版 代码 先看代码,后面再一一讲解 引入命名空间: using Lucene.Net.Store; using System.IO;…
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4.搜索引擎第一版技术储备(简单介绍Log4Net.生产者消费者模式)Lucene.net站内搜索—5.搜索引擎第一版实现Lucene.net站内搜索—6.站内搜索第二版 站内搜索模块:生产者.消费者,多线程.复习多线程,用多线程做一个winform的生产者.消费者的例子,有任务的时候(点按钮给整数)…
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4.搜索引擎第一版技术储备(简单介绍Log4Net.生产者消费者模式)Lucene.net站内搜索—5.搜索引擎第一版实现Lucene.net站内搜索—6.站内搜索第二版 我们先来看下百度搜索…
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4.搜索引擎第一版技术储备(简单介绍Log4Net.生产者消费者模式)Lucene.net站内搜索—5.搜索引擎第一版实现Lucene.net站内搜索—6.站内搜索第二版 第二版功能需求 自动完成 热门词汇(SEO) 显示分词.执行耗时 分页 页面美化 我们先假设用一张表来存储用户所有的关键字搜索和次…
Lucene.net是一个搜索引擎的框架,它自身并不能实现搜索.须要我们自己在当中实现索引的建立,索引的查找.全部这些都是依据它自身提供的API来实现.Lucene.net本身是基于java的,可是经过翻译成.ne版本号的,能够在ASP.net中使用这个来实现站内搜索. 要实现基于汉语的搜索引擎,首先的要实现汉语的分词.眼下网上大部分都是利用已经有的盘古分词来实现的分词系统.可是盘古分词效果不太好.在这里我把最新的ICTCLAS2014嵌入到Lucene.net中.Lucene.net中全部的分…
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4.搜索引擎第一版技术储备(简单介绍Log4Net.生产者消费者模式)Lucene.net站内搜索—5.搜索引擎第一版实现Lucene.net站内搜索—6.站内搜索第二版 Lucene.Net简介 Lucene.Net是由Java版本的Lucene(卢思银)移植过来的,所有的类.方法都几乎和Lucen…
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4.搜索引擎第一版技术储备(简单介绍Log4Net.生产者消费者模式)Lucene.net站内搜索—5.搜索引擎第一版实现Lucene.net站内搜索—6.站内搜索第二版 声明:在这里,所谈的一切关于SEO的技术主要针对于我们开发人员. SEO (搜索引擎优化) SEO(搜索引擎优化)的目的(很多人都…
为了方便的学习站内搜索,下面我来演示一个MVC项目. 1.首先在项目中[添加引入]三个程序集和[Dict]文件夹,并新建一个[分词内容存放目录] Lucene.Net.dll.PanGu.dll.PanGu.Lucene.Analyzer.dll 链接:http://pan.baidu.com/s/1eS6W8s6 密码:ds8b 链接:链接:http://pan.baidu.com/s/1geYyDnt 密码:8rq4 2.建立Search控制器,并转到Index界面写入如下内容: PS:VS…
Lucene.Net 站内搜索 一  全文检索: like查询是全表扫描(为性能杀手)Lucene.Net搜索引擎,开源,而sql搜索引擎是收费的Lucene.Net只是一个全文检索开发包(只是帮我们存数据取数据,并没有界面,可以看作一个数据库,只能对文本信息进行检索)Lucene.Net原理:把文本切词保存,然后根据词汇表的页来找到文章 二  分词算法: //一元分词算法(引用Lucene.Net.dll)  一元分词算法 //二元分词算法(CJK:China Japan Korean 需要再…
使用Lucene.NET实现简单的站内搜索 导入Lucene.NET 开发包 Lucene 是apache软件基金会一个开放源代码的全文检索引擎工具包,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎.Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎.Lucene.Net 是 .NET 版的Lucene. 你可以在这里下载到最新的Lucene.NET 创建索引.更新索引.删除索引…
前言 首先自问自答几个问题,以让各位看官了解写此文的目的 什么是站内搜索?与一般搜索的区别? 很多网站都有搜索功能,很多都是用SQL语句的Like实现的,但是Like无法做到模糊匹配(例如我搜索“.net学习”,如果有“.net的学习”,Like就无法搜索到,这明显不符合需求,但是站内搜索就能做到),另外Like会造成全盘扫描,会对数据库造成很大压力,为什么不用数据库全文检索,跟普通SQL一样,很傻瓜,灵活性不行 为什么不用百度.google的站内搜索? 毕竟是别人的东西,用起来肯定会受制于人(…
首先自问自答几个问题,以让各位看官了解写此文的目的 什么是站内搜索?与一般搜索的区别? 多网站都有搜索功能,很多都是用SQL语句的Like实现的,但是Like无法做到模糊匹配(例如我搜索".net学习",如果有".net的学习",Like就无法搜索到,这明显不符合需求,但是站内搜索就能做到),另外Like会造成全盘扫描,会对数据库造成很大压力,为什么不用数据库全文检索,跟普通SQL一样,很傻瓜,灵活性不行 本文有借鉴其他大神及园友的技术,在此谢谢! 站内搜索使用的技…
2.1.6 截取索引(Indextruncate) 一些应用程序的所以文档的大小先前是不知道的.作为控制RAM和磁盘存储空间的使用数量的安全机制,你可能想要限制每个字段允许输入索引的输入数量.一个大的二进制文档偶尔被错误地划分为文本文档,或者包含嵌入在它中的二进制被你的过滤器错误地处理,这些都是可能的. 另外一些应用程序处理知道文档大小,但是你想索引仅仅是其中的一部分内容.例如,你可能想每个文档索引仅仅200个单词或者字数.为了支持反转的情况,IndexWriter允许你截取每个字段索引以便于仅…
最近看完nutch后总感觉像好好捯饬下solr,上次看到老大给我展现了下站内搜索我便久久不能忘怀.总觉着之前搭建的nutch配上solr还是有点呆板,在nutch爬取的时候就建立索引到solr服务下,然后在solr的管理界面中选择query,比如在q选项框中将“*:*”改写为“title:安徽”,则在管理界面中就能看到搜索结果,可是这个与搜索引擎的感觉差远了,总感觉这些结果是被solr给套在他的管理界面中了,于是自己在网上搜索,也想整个站内搜索一样的东西,就算整不到那么炫,只要整到在solr的管…
一分钟加入google站内搜索代码| 一分钟加入google站内搜索代码|只有7行最精简.网上有很多 google 站内搜索代码,但是出于某些目的,很多都加入了多余的代码,从seo的角度来讲,是很不优化的,我这里给出一个最精简的代码,只有7行,让您很容在一分钟之内,为您的网站.博客.论坛加入"搜索本站"的功能.对于很多网民来讲这是非常好用的功能,如果您希望方便.快捷的建立自己的站内搜索,不妨试试" Google 指定域名搜索".这样,您不必花费太多时间,就可以建立结…
今天早上打算对这两天学习的Lucene以及Compass总结一下,想来想去,还是写个小项目来验证最好了.于是就有了今天的这篇文章.难易程度适合对于Compass或者Lucene刚入门的童鞋,大牛看到后望轻喷 :-) 项目预览 项目需求 项目目录 核心处理 发帖部分 查询部分 总结 项目预览 项目需求 这是一个小项目,唯一实现的就是发帖以及站内搜索功能.所以我们的目标很明确了.由于这里仅仅是演示Compass的实现,所以就没有整合数据库的那一块,即保证数据库和索引库信息的一致性.(这一点在Busi…
最近挺忙的,在外出差,又同时干两个项目.白天一个晚上一个,特别是白天做的项目,马上就要上线了,在客户这里 三天两头开会,问题很多真的很想好好静下来怼代码,半夜做梦都能fix bugs~ 和客户交流真的是门技术,一不小心你就会掉坑里,慢慢来吧~ 站内搜素其实也是老生常谈,估计很多程序员门都做过或者接触过,记得大三那会 那是比较常见的解决方案就是lucene.net 和盘古分词,后来又用jieba分词, 首先就是和数据库同步,我们把数据扔给lucene.net  ,lucene.net 拿到数据 进…
最近看完nutch后总感觉像好好捯饬下solr,上次看到老大给我展现了下站内搜索我便久久不能忘怀.总觉着之前搭建的nutch配上solr还是有点呆板,在nutch爬取的时候就建立索引到solr服务下,然后在solr的管理界面中选择query,比如在q选项框中将“*:*”改写为“title:安徽”,则在管理界面中就能看到搜索结果,可是这个与搜索引擎的感觉差远了,总感觉这些结果是被solr给套在他的管理界面中了,于是自己在网上搜索,也想整个站内搜索一样的东西,就算整不到那么炫,只要整到在solr的管…
一个物理文件可以直接作为资源内嵌到编译生成的程序集中.借助于EmbeddedFileProvider,我们可以统一的编程方式来读取内嵌于某个程序集中的资源文件,不过在这之前我们必须知道如何将一个项目文件作为资源并嵌入到生成的程序集中. [ 本文已经同步到<ASP.NET Core框架揭秘>之中] 目录一.将项目文件变成内嵌资源二.读取资源文件三.EmbededFileProvider 一.将项目文件变成内嵌资源 在默认情况下,我们添加到一个.NET项目中的静态文件并不会成为项目编译生成的程序集…