| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3853 人关注过本帖
标题:几百万条数据,Contains结果太少, like '%%'效率太低,如何解决 ? 只能使 ...
取消只看楼主 加入收藏
sw4433
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2009-5-24
结帖率:44.44%
收藏
已结贴  问题点数:20 回复次数:4 
几百万条数据,Contains结果太少, like '%%'效率太低,如何解决 ? 只能使用分词系统?有没有跟好的办法?
在C# vs2008 中如何使用 分词系统 ?
最好有详细的步骤
几百万条数据,
建立索引了,Contains (title, ''中国'' )查询结果太少了,跟like '%%'没法比

但sqlserver2005 中 like '%%' 效率太低了,全表扫描,时间长,耗内存!

有没有好的办法解决这个问题?
winform 或者 中如何使用 分词系统  

KTDictSeg是 一个开源分词组件,不知道怎么样?



[ 本帖最后由 sw4433 于 2010-10-26 12:34 编辑 ]
搜索更多相关主题的帖子: 分词 Contains like 效率 系统 
2010-10-24 14:36
sw4433
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2009-5-24
收藏
得分:0 
看着头有点晕,但是好像还是不知道怎么在项目中使用?以下是底层的一段代码
程序代码:
#region 根据内容搜索新闻
        /// <summary>
        /// 根据内容搜索新闻
        /// </summary>
        /// <param name="content">新闻内容关键字</param>
        /// <returns></returns>
        public DataTable SelectByContent(string content)
        {
            //TODO:根据内容搜索新闻
            DataTable dt = new DataTable();
            string cmdText = "news_SelectByContent";//存储过程 条件为:where n.content like '%' + @content + '%' (content为参数)
            SqlParameter[] paras = new SqlParameter[]{
                new SqlParameter("@content",content)
            };
            dt = sqlHelper.ExecuteQuery(cmdText,paras,CommandType.StoredProcedure);
            return dt;
        }
        #endregion

就是不会在项目中使用
怎样改?
2010-10-25 21:15
sw4433
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2009-5-24
收藏
得分:0 
以下是引用wyalwy在2010-10-25 21:50:41的发言:

什么东东!   
分词系统,跟google搜索差不多的东西,就是不会使用
2010-10-25 22:05
sw4433
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2009-5-24
收藏
得分:0 
以下是引用c1_wangyf在2010-10-26 08:48:18的发言:

2楼给的是非常专业的,但是看你的要求好像是查找数据库里面的内容,这个like%%完全是数据库领域的,和分词关系应该不大。你只要了解数据库查询语句就基本差不多了--可能觉得运行起来不够快,可以试着把“条件范围”锁定的更小一点!!
楼上的说的也对,

但是我的数据库非常大啊,几百万条数据,

比如分页查询 ,查询包含 ‘中国’的第一页数据,   like '%%' 这样的情况怎么处理?
2010-10-26 12:20
sw4433
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2009-5-24
收藏
得分:0 
我的机器 500万条数据 查询 包含 ‘中国‘ 的第一页数据要20几秒,而且内存占用很高,

在网上找了很多,好像光是依靠 sql 语句很难提高效率,必须使用第三方工具才能解决

不知道有没有更好的办法

2010-10-26 12:25
快速回复:几百万条数据,Contains结果太少, like '%%'效率太低,如何解决 ? 只 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034076 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved