DNN中搜索引擎原理——数据库分析篇
来源:互联网 发布:买鞋用什么软件正品 编辑:程序博客网 时间:2024/06/04 00:45
整个和搜索相关表的关系图如下:
从关系图上来看,只要在SearchWord表中找到指定关键字,通过SearchItemWord表,就能知道要查询的内容了。通过SearchItem表,就能确切知道是哪个模块了。
各表个字段的详细解释:
SearchCommonWords:★常用字/词组信息表(存储指定文化区域的常用字,在查询时输入这些字是不会返回结果的)
字段名
类型
含义
备注
CommonWordID
Int
常用字ID
主键
CommonWord
Nvarchar(255)
常用字
如:where,about在英文中都属于常用字
Locale
Nvarchar(10)
所属文化区域
SearchIndexer:★索引Provider的程序集(这个表的数据好像没有用,在web.config中有设置)
字段名
类型
含义
备注
SearchIndexerID
Int
ID
主键
SearchIndexerAssemblyQualifiedName
Char(200)
程序集
SearchItem:★模块内容搜索条目(将所有可能被搜索到的模块内容,通过定时调度的方式,将模块内容以搜索条目的形式保存,这样可加快搜索速度)
字段名
类型
含义
备注
SearchItemID
Int
搜索条目ID
主键
Title
Nvarchar(200)
标题
Description
Nvarchar(2000)
描述
Author
Int
作者Id
PubDate
Datetime
发布日期
ModuleId
Int
所属模块Id
与模块信息表(Modules)关联
SearchKey
Nvarchar(100)
搜索关键字
Guid
Varchar(200)
好像是指示模块中的一条记录
HitCount
Int
点击次数
ImageFileId
Int
SearchItemWord:★搜索关键字索引信息表(搜索条目和搜索关键字之间的关系)
字段名
类型
含义
备注
SearchItemWordID
Int
搜索关键字索引ID
主键
SearchItemID
Int
搜索条目Id
关联模块内容搜索条目表(SearchItem)
SearchWordsID
Int
搜索关键字Id
关联搜索关键字信息表(SearchWordsID)
Occurrences
Int
出现次数
关键字在指定搜索内容中的出现次数
SearchItemWordPosition:★搜索关键字在被搜索内容中出现的位置
字段名
类型
含义
备注
SearchItemWordPositionID
Int
ID
主键
SearchItemWordID
Int
搜索关键字索引ID
关联搜索关键字索引信息表(SearchItemWord)
ContentPosition
Int
出现位置
SearchWord:★搜索关键字信息表(存储可供检索的关键字)
字段名
类型
含义
备注
SearchWordsID
Int
搜索关键字ID
主键
Word
Nvarchar(100)
搜索关键字
IsCommon
Bit
是否是常用字
HitCount
Int
点击次数
一个可以改进的存储过程:
查看获取查询结果的存储过程GetSearchResults,我们会发现必须完全匹配查找关键字才能查出所需的内容。问题就在“sw.Word = @Word”这一句上,也就是说如果一个模块中包含“DotNetNuke”这个内容,那么他输入“Nuke”是不会查出来的。将这一句改成“sw.Word like '%' + @Word+'%'”就可以了(这是一个以效率换结果的方法)。具体修改方法见:http://www.cnblogs.com/esshs/archive/2005/08/12/213154.html
从数据表和所实现的功能上看,某些表的数据字段还没有用上,估计是DNN预留字段以便日后扩充。看完这篇文章的不知大家对DNN的查询功能是否有一个大概的了解。以后将继续针对如何通过各功能模块所实现的查询接口来填充SearchItem表;点击“查询”是如何工作的这些方面的问题来继续说明DNN搜索引擎原理。上文有任何讲解不正确的地方还请大家指出,以免误导他人。
- DNN中搜索引擎原理——数据库分析篇
- DNN中搜索引擎原理——数据库分析篇
- DNN中搜索引擎原理——如何获取SearchItem
- 图像搜索引擎 - 原理篇
- 搜索引擎原理篇
- MNIST手写数字的识别——DNN篇
- 老系统数据库移植到DNN系统(总结篇)
- 搜索引擎中网站排名的原理
- 数据库索引原理分析
- Mysql数据库原理分析
- 推荐:搜索引擎零距离——基于Ruby+Java搜索引擎原理与实现
- DNN结构演进History—LSTM_NN
- DNN结构演进History—CNN
- DNN结构演进History—RNN
- DNN结构演进History—LSTM网络
- 分析SQL Server中数据库快照工作原理
- 分析SQL Server中数据库的快照工作原理
- MyBatis中Mapper接口映射到数据库原理分析
- 手机实用小常识-热门秘籍
- 在SQL中删除重复记录(多种方法)
- Asp.net 页面导航的几种方法与比较
- 谁家有空瓶子拿来卖!
- [转载]Eclipse快速上手指南之使用CVS
- DNN中搜索引擎原理——数据库分析篇
- The first day!
- 如何显示在线人数,和所在位置
- DNN中搜索引擎原理——如何获取SearchItem
- ORACLE回滚段管理
- 八月(Augest)2005
- 2005世界500强
- 我用如下代码实现把web数据保存到excel,why success?
- 互 联 网 数 据 挖 掘 综 述