• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > Lucene.Net实现搜索结果分类统计功能(中小型网站)

Lucene.Net实现搜索结果分类统计功能(中小型网站)

作者:kwklover 字体:[增加 减小] 来源:互联网 时间:2017-05-11

kwklover通过本文主要向大家介绍了lucene.net,lucene.net.dll,lucene.net下载,lucene.net 盘古分词,lucene.net 盘古粉刺等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

最近我们搜易站内搜索系统的一个客户需要一个无限级分类和分类统计功能,要实现的效果如下:

但由于搜易站内搜索系统是基于Lucene.net 2.0开发的,并没有内置的分类统计搜索功能,于是乎只能自己实现了,考虑到客户的总数据量和搜索量不是特别大,于是用了简单有效的方式来实现:

因为涉及到分类的操作,但是每个站点的分类体系还是有些不一样的,本文主要提供思路和部分演示代码,给有需要的童鞋参考:

思路:

首先想到Lucene搜索出来的结果是一个Hits对象,Hits其实就是一个搜索结果文档的集合对象,那么遍历这个集合对象,跟给定的分类字段比对,存在就+1 。

代码示例:

Lucene.Net.Search.Hits hits = Searcher.Search(querystring) ;
int hcount = hits.Length();
Lucene.Net.Documents.Document doc = null;
for (int i = 0; i < hcount; i++)
{
  doc = hits.Doc(i);
  string c1 = doc.GetField("Cate1").StringValue();
   //判断是否存在于给定的分类集合中,存在则加1
  if (parameter.Cate1Groups.ContainsKey(c1))
  {
    parameter.Cate1Groups[c1] = parameter.Cate1Groups[c1] + 1;
  }
  else
  {
    parameter.Cate1Groups.Add(c1, 1);
  }
}
</div>

适用场景:

这种实现方式比较适合中小型网站,在数据量和搜索量不大的情况下可用。

以上所述是小编给大家介绍的Lucene.Net实现搜索结果分类统计功能(中小型网站),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Lucene.Net实现搜索结果分类统计功能(中小型网站)
  • 基于ASP.NET的lucene.net全文搜索实现步骤
  • relaxlife.net发布一个自己开发的中文分词程序

相关文章

  • 2017-05-11Asp.net 连接MySQL的实现代码[]
  • 2017-05-11C#调用C++版本dll时的类型转换需要注意的问题小结
  • 2017-05-11asp.net实现生成静态页并添加链接的方法
  • 2017-05-11ASP.NET 2.0/3.5中直接操作Gridview控件插入新记录
  • 2017-05-11SqlDataReader生成动态Lambda表达式
  • 2017-05-11HttpWebRequest的常见错误使用TcpClient可避免
  • 2017-05-11Asp.Net FckEditor在web.config中配置的具体实例
  • 2017-05-11.net出现80080005错误的解决办法分享
  • 2018-08-20Visual Studio 2017使用淘宝镜像的方法
  • 2018-08-20asp.net mvc webapi 实用的接口加密方法示例

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 用WPF实现屏幕文字提示的实现方法
    • 在ASP.NET中用存储过程执行SQL语句
    • 深入解析.NET 许可证编译器 (Lc.exe) 的原理与源代码剖析
    • Asp.net之数据过滤浅析
    • asp.net数据绑定DataBind使用方法
    • 二级域名Cookie问题的解决方法
    • Asp.Net 程序错误Runtime Error原因与解决
    • 在ASP.NET中用MSDNURLRewriting实现Url Rewriting
    • Server Application Unavailable出现的原因及解决方案小结
    • asp.net 计划任务管理程序实现,多线程任务加载

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有