学习笔记

本文介绍了一种基于Lucene的全文检索系统的搭建过程,包括系统框架、代码结构、分词方式、负载均衡策略等内容,并详细说明了索引创建及搜索的具体实现方法。

相关文档:系统框架.vsd和代码结构.doc

流程:索引-->搜索

分词:用Lucene标准分词就可以了,还有KTD分词

负载均衡:索引或搜索服务部署到多台服务器后,
         一般通过linux负载均衡的软件实现,对外一个入口指向多个服务器的地址

发布流程:
1.重新生成win开头的release版
2.把bin下面的release发部署到相应服务器
2.加载服务--InstallIndexService.bat
  @WinIndexService.reg把服务设置导入到这个这注册表文件,下次更新不用再设置服务的参数


Job88.FullTextSearch.WcfService的
SearchData方法
可传三种:
第一种:Dictionary<string,string>
 sis的SalesBusiness/SearchCompanyByEngineer.aspx
 和Recommend/RecommandSetting.aspx
第二种:传字符串:
后台服务ManageService
Job88.SIS.SerivceBLL的AutoRecommendService.cs

if (resumeID.Contains(" OR "))
                                {
                                    resumeID = " NOT (" + resumeID + ")";
                                }
                                else
                                {
                                    resumeID = " NOT " + resumeID;
                                }
第三种:传Lucene的Query对象,少用

获取搜索排序,像sql中的order by

获取搜索排序,像sql中的order by

缓存服务器:
1.把缓存服务器应该程序部署到缓存服务器
2.运行Install.bat
3.通过客户端Job88.FullTextSearch.MemcachedClient调用
转换精确条件:中华人民共和国要全部匹配称之为精确搜索

委托跟泛型的使用:
flagsTemp = Array.ConvertAll(dicConditionRelations.Values.ToArray(), new

Converter<ConditionRelation, BooleanClause.Occur>(ConvertRelationData));
Job88.FullTextSearch.WcfHelper的SearchHelper.cs
中的ConvertRelationData()和
***GetSearchQuery()

搜索引擎原理:
数据源:从正式库通过SQL Server的事务复制功能同步数据到搜索引擎数据库[增删改],发布SQL命令,订阅时要指定发布服务器
一.建索引数据:定期从搜索引擎数据库取数据创建索引文件
过程:
1.Job88.FullTextSearch.ConsoleCollectorService的StartCollectorAndIndex()
2.Job88.FullTextSearch.DBDataSource取索引数据
3.Lucene分词建索引文件
4.通过Lucene标准词库查找已建好的索引数据
二.搜索数据(WCF):
   通过memcached取数据或者通过Lucene取索引数据

客户端搜索时到缓存取数据或到索引数据库取数据
memcached:高性能的分布式内存缓存服务器。
一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性



启动服务
ConsoleSearchServic这类型的项目
测试
PreviewQueryStringCheck
Default.aspx,输入测试数据:KeyWords:上海 

转载于:https://www.cnblogs.com/ylemzhang/archive/2010/03/17/1688428.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值