zoukankan      html  css  js  c++  java
  • 中文分词

    昨天产品提了个需求,用户搜索‘Q币充值’,只要包含‘Q币’的产品都要搜索出来,我们知道,通常情况搜索是把整个字符串进行模糊查询,这种需求应该怎么解决,我们来看看

     //首先引用两个DLL文件,再引用这三个命名空间,DLL文件底下会给链接

    using Lucene.Net;

    using Lucene.Net.Analysis;

    using Lucene.China;

    public ActionResult Index()

     {

        StringBuilder sb = new StringBuilder();

        sb.Remove(0, sb.Length);

        string t1 = "";

        int i = 0;

        Analyzer analyzer = new Lucene.China.ChineseAnalyzer();

        string rich = "Q币人外热发给34645……&*";

        StringReader sr = new StringReader(rich);

        TokenStream stream = analyzer.TokenStream(null, sr);

        

         long begin = System.DateTime.Now.Ticks;

         Token t = stream.Next();

         while (t != null)

          {

                t1 = t.ToString();   //显示格式: (关键词,0,2) ,需要处理

                t1 = t1.Replace("(", "");

                char[] separator = { ',' };

                t1 = t1.Split(separator)[0];

                sb.Append(i + ":" + t1 + "\r\n");

                t = stream.Next();

                 i++;

            }

            ViewBag.rich = rich;

            ViewBag.richSp = sb.ToString();

            long end = System.DateTime.Now.Ticks; //100毫微秒

            int time = (int)((end - begin) / 10000); //ms

            ViewBag.richTime = "耗时" + (time) + "ms \r\n=================================\r\n";

            return View();

       }

    代码分析:

    1、因无源码,词库文件只能放在指定的路径下
    2、因无源码,大小写字母此处不区分,无法修正
    3、不支持标点符号拆分

    4、网上很大一部分的分词代码都是摘自飘易的博客,不如直接看他的。

          如果想要有源码的,网上也有一些大佬自己写的分词,几乎用不上这个功能也就没去验证

    PS: dll文件下载地址 http://www.piaoyi.org/upimg/file071127_08/02/ChineseAnalyzer.rar

    里面包含winform版的demon,摘自 http://www.piaoyi.org/c-sharp/ChineseAnalyzer.html

  • 相关阅读:
    JSP/Servlet开发——第二章 JSP数据交互(二)
    JSP/Servlet开发——第一章 动态网页基础
    Java OOP——第三章 多态
    Java OOP——第二章 继承
    Java OOP——第一章 对象和封装
    Java OOP——第四章 异常
    Linux 系统启动过程
    动画链接
    js判断浏览器类型
    localStorage封装
  • 原文地址:https://www.cnblogs.com/xiaoxiaoqiao/p/9304179.html
Copyright © 2011-2022 走看看