CN101122915A - 基于参数的搜索引擎 - Google Patents
基于参数的搜索引擎 Download PDFInfo
- Publication number
- CN101122915A CN101122915A CNA2007100532643A CN200710053264A CN101122915A CN 101122915 A CN101122915 A CN 101122915A CN A2007100532643 A CNA2007100532643 A CN A2007100532643A CN 200710053264 A CN200710053264 A CN 200710053264A CN 101122915 A CN101122915 A CN 101122915A
- Authority
- CN
- China
- Prior art keywords
- classification
- template
- major key
- parameter item
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于搜索引擎领域,提供了一种基于参数的搜索引擎。该搜索引擎首先建立参数模板,即先将关键词进行分类,然后根据分类建立参数模板,将参数模板具体信息和实体关系录入到数据库中,一个参数模板在数据库中对应生成一个动态表;然后录入产品参数,即先通过该产品所在分类找到对应的参数模板,通过该参数模板将产品参数信息录入到对应的动态表中;使用该搜索引擎时,根据所要查询的关键词找到相应的参数模板,再通过该相应的参数模板将查询条件拼接成关系数据库查询语句到相应的动态表中查询,最后将动态表中查询的结果返回。该搜索引擎的搜索针对性强,准确度高,使用方便。
Description
技术领域
本发明属于计算机网络应用领域,特别是涉及一种搜索引擎。
背景技术
在计算机网络的应用过程中,搜索引擎对网络信息的查阅起到特别大的作用。搜索引擎是指自动从因特网搜集信息,经过一定整理以后,提供给用户进行查询的***。因特网上的信息浩瀚万千,而且毫无秩序,孤立的信息通过网页链接来进行联系。而搜索引擎,则为用户绘制一幅一目了然的信息地图,供用户随时查阅。在不同的行业中,例如制造业,经常需要结合所要搜索的产品参数进行信息的查阅。例如搜索客车,则用户期待能通过总长、总宽、座位数等参数进行更精确的查阅。而目前的搜索引擎则缺乏参数搜索的功能,不能满足用户的需要。
发明内容
本发明所要解决的技术问题是:提供一种基于参数的搜索引擎,该搜索引擎可以通过分类和相应的参数进行搜索,提高搜索准确度,使用方便。
本发明所采用的技术方案是:首先建立参数模板,即先将关键词进行分类,然后根据分类建立参数模板,将参数模板具体信息和实体关系录入到数据库中,一个参数模板在数据库中对应生成一个动态表;然后录入产品参数,即先通过该产品所在分类找到对应的参数模板,通过该参数模板将产品参数信息录入到对应的动态表中;使用该搜索引擎时,根据所要查询的关键词找到相应的参数模板,再通过该相应的参数模板将查询条件拼接成关系数据库查询语句到相应的动态表中查询,最后将动态表中查询的结果返回。
本发明的有益效果:搜索针对性强,准确度高,使用方便。
附图说明
图1a是建立参数模板的原理图。
图1b是通过参数模板录入产品参数的原理图。
图1c是搜索原理图。
图2是数据关系实体图。
图3是***后台操作示意图1。
图4是***后台操作示意图2。
图5是自定义控件函数调用关系图。
具体实施方式
下面结合附图来说明本发明,但不限定本发明。
本发明原理如图1a、图1b和图1c所示,其中n为自然数。
如图1a所示,第一步是建立参数模板。即先将关键词进行分类,设分为分类1、分类2…分类n,只有最底层分类才能建模板。然后根据分类建立参数模板,将参数模板具体信息和实体关系录入到数据库中,一个参数模板在数据库中对应生成一个动态表:即分类1的参数数模板对应生成动态表1,分类2的参数模板对应生成动态表2……分类n的参数模板对应生成动态表n。
如图1b所示,第二步是录入产品参数。设有产品1、产品2…产品n,先通过该产品所在分类找到对应的参数模板,即通过产品1所在分类找到对应的参数模板1,通过产品2所在分类找到对应的参数模板2……通过产品n所在分类找到对应的参数模板n。然后通过该参数模板将产品参数信息录入到对应的动态表中,即产品1的参数通过参数模板1录入到动态表1中,产品2的参数录入到动态表2中……产品n的参数录入到动态表n中。
如图1c所示,第三步是使用该搜索引擎。首先根据所要查询的关键词找到相应的参数模板,即根据该关键词找到相应的参数模板1、参数模板2……或参数模板n,再通过该相应的参数模板将查询条件拼接成关系数据库查询语句到相应的动态表中查询,即若找到参数模板1则在动态表1中查询,若找到参数模板2则在动态表2中查询……若找到参数模板n则在动态表n中查询。最后将动态表中查询的结果返回。
由该原理,可以在关系数据库中定义数据关系实体图,即动态表的存储方法。该实体图如图2所示,PK表示主键,FK1表示第一外键,FK2表示第二外键,FK3表示第三外键。关键词分类表下的主键为关键词分类主键。参数模板表下的主键为参数模板主键,参数模板表下的第一外键为关键词分类主键。参数项单位分类表下的主键为参数项单位分类主键。参数项表下的主键为参数项主键,参数项表下的第一外键为参数项单位分类主键。参数项单位表下的主键为参数项单位主键,参数项单位表下的第一外键为参数项单位分类主键。参数分类表下的主键为参数分类主键。参数分类-参数项表(表示参数分类和参数项之间的对应关系)下的主键为参数分类-参数项主键,参数分类-参数项表下的第一外键为参数分类主键,参数分类与参数项对应关系表下的第二外键为参数项主键。模板-参数分类-参数项表(表示参数模板、参数分类和参数项之间的对应关系)下的主键为模板-参数分类-参数项主键,模板-参数分类-参数项表下的第一外键为参数模板主键,模板-参数分类-参数项表下的第二外键为参数分类主键,模板-参数分类-参数项表下的第三外键为参数项主键。
下面以关键词为客车来举例说明动态表的内容。
其关键词分类表的分类为“汽车>整车>客车”,参数模板表的内容为客车参数模板,参数项单位分类表的内容为长度和重量,参数项表记录的为动态表具体每一列的数据类型、长度等(例如车型、总长、总宽、总高等),参数项单位表的内容为公里、毫米和公斤,参数分类表的内容为主要技术参数、发动机参数和底盘配置。
参数分类-参数项表的内容为:主要技术参数包括车型、总长、总宽、总高;发动机参数包括发动机型号、发动机模式和发动机排放标准;底盘配置包括底盘厂家、底盘型号、变速器。
模板-参数分类-参数项表的内容为:客车参数模板包括主要技术参数、发动机参数和底盘配置;主要技术参数包括车型、总长、总宽、总高;发动机参数包括发动机型号、发动机模式和发动机排放标准;底盘配置包括底盘厂家、底盘型号、变速器。
创建参数模板的后台操作示意图如图3和图4所示。比如我们现在要创建一个客车参数模板,***后台操作如下:
如图3所示,在分类树上选择客车分类,点击配置模板里面的创建参数分类,可以在右边输入具体的参数分类名称等信息。图3中已经建立了主要技术参数等参数分类,点保存时可将该参数分类的数据保存在参数分类表中。
如图4所示,可以在参数分类中添加具体的参数项。图中以参数分类中的主要技术参数为例,可以录入车型等参数项。
点保存此模板时在参数模板中加一条记录并根据参数分类和参数项具体的信息在数据库中动态生成一个表(即动态表),这个表名按分类名加一定的规则命名,用于存储在此参数模板中添加的产品具体的属性信息,比如:坐位数,总长等信息。
根据这种存储规则对应每一个最下层的分类就可以定义一个对应的参数模板。因为不同的参数模板参数是不同的,所以为了方便录入分类对应的产品参数和搜索时对不同的参数模板下查询条件的输入就做了一个自定义控件。录入产品参数时,对应的参数模板和对应的动态表之间是通过该控件传递产品参数。搜索时由关键词找到分类,根据分类找到关键词分类表的主键,相应的参数模板和相应的动态表之间,该控件根据传入的主键动态显示该分类下的参数模板的具体信息,然后通过该控件输入各种查询条件,并由该控件将查询条件拼接成关系数据库查询语句,在动态表中进行查询。
该控件可以用很多种语言编写,下面以C#语言为例来说明。控件中函数及其函数参数如下所示,其中函数英文名称和函数参数在函数中文名称后面的括号中。
私有类型的函数:
新增分类显示参数信息(private void Show(string strClassID));
根据分类、产品编号显示参数信息(private void Show(string strClassID,stringstrProduct ID));
直接搜索参数项显示参数信息,不需要分类、产品编号(private void Show2(stringstrClassID,string strParameterClassID));
显示搜索引擎(private void ShowSearchEngine(string strClassID,stringstrEngineID));
显示参数项(private void ShowItem(string strParameterItemiD));
根据具体一条参数记录,生成页面上的控件(private void ShowParameter(DataRowdr,int type,string strClassName));
根据参数分类生成相应的控件(private void ShowParameterClass(stringstrParameterClassName,DataRow[]drParameterItem));
显示头部(private void ShowHead());
显示尾部(private void ShowBottom());
创建表格(private void CreatTable());
不带单位分类的加记录(private void InsertRow(string strParameterItemCode,stringstrControlName,string strInputType,string strParameterClass,stringstrParameterItemName,string strDataType,string strParameterClassName,stringstrParameterItemID));
带单位分类的增加记录(private void InsertRow(string strParameterItemCode,string strControlName,string strInputType,string strParameterClass,stringstrParameterItemName,string strDataType,string strParameterClassName,stringstrUniTypeID,string strParameterItemID));
绑定单位项(private void BindOption(DropDownList ddl,stringstrUnitTypeID,string strUnitId));
保护类型的函数:
建立子控件(protected override void CreateChildControls());
公有类型的函数:
显示所有信息(public void ShowInfo());
清除控件(public void Clear());
打开模式窗口(public void OpenModelWin(System.Web.UI.Page jsPage,WebControltouchControl,string ClientEventName,string url,string urlParameter,int width,intheigh,string strArgs,Control GetValueControl));
控件中各函数的调用关系为:
如图5所示,ShowInfo函数调用CreateChildControls函数。CreateChildControls函数调用Show、Show2、ShowItem、CreateTable、ShowSearchEngine四个函数。Show、Show2两个函数均调用ShowHead、ShowParameter、ShowParameterClass、ShowBottom四个函数。ShowItem函数调用ShowHead、ShowParameter和ShowBottom三个函数。ShowSearchEngine函数调用ShowParameterClass函数。ShowParameter函数调用OpenModelWin、InsertRow和BindOption三个函数。
该控件的工作原理是:
控件中的代码通过传入的参数判断子控件的显示模式(直接输入、下拉选择、单项选择、多选),然后通过Controls集合对象,自动创建相关的控件,通过Controls的Add方法和手写的HTML标记语言控制各个子控件的样式和布局,对于公用的多次的重复代码(清除控件、创建表格,绑定单位项等)则进行了函数封装,在用户管理后台和前台搜索页面参数搜索功能都通过这个控件传参调用。
首先,显示所有信息函数(ShowInfo)引导了整个控件的开始,该函数封装了保护的函数建立子控件(CreateChildControls)。在CreateChildControls函数中通过创建表格函数(CreateTable)创建表格(TABLE);同时,CreateChildControls函数判断调用页面的传达的状态信息(Type),然后该函数根据状态信息选择需要显示的内容:显示参数信息(两个名字相同、参数不同的Show函数和Show2),显示参数项(ShowItem)或显示搜索引擎(ShowSearchEngine);最后Show、Show2、ShowItem和ShowSearchEngine函数开始有序的进行控件细节内容的拼装了:
1)显示参数信息时,需要显示头部(ShowHead),根据具体一条参数记录生成页面上的控件(ShowParameter),根据参数分类生成相应的控件(ShowParameterClass),显示尾部(ShowBottom);
2)显示参数项就较为简单些,申请的页面只需要显示头部,根据具体一条参数记录生成页面上的控件,显示尾部;
3)显示搜索引擎时,显示的内容比较特殊,需要的是根据参数分类生成相应的控件;
然后就进入了最核心最复杂的根据具体一条参数记录生成页面上的控件(ShowParameter)过程:
1、该函数传入的参数为记录行(dr)、控件类型(type)、类别(strClassName),通过dr的列strInputType作为参数来判断子控件的显示模式:
1)当strInputType参数为D的时候则为直接输入显示模式(文本框)。
2)当strInputType参数为A的时候则为下拉选择显示模式(下拉列表)。
3)当strInputType参数为C的时候则为单选显示模式。
4)当strInputType参数为B的时候则为多选显示模式。
dr的其它列的值都是通过存储过程从数据库获取,通过这些列对整个控件的主要属性进行定义,而列获取数据的过程又是在Show函数调用ShowParameter函数之前完成的。
2、在不同的显示模式下,又要经过同一流程的判断:
1)通过传入的参数type来判断:如果type不为2,则字体显示样式为黑色,如果type为2,则特殊处理字体样式。
2)经过步骤1)之后,再调用Controls.add方法,根据显示模式往界面上添加子控件。这些子控件包括文本框(单行或多行textbox)、下拉选择列表(DropDownList)或选择项(单项或者多项lable)。
步骤2的具体实现时又都调用公用的函数,即不带单位分类的加记录或带单位分类的增加记录(InsertRow)、绑定单位项(BindOption),步骤2同时提供了重载的公共函数打开模式窗口(OpenModelWin)。
根据这个自定义控件的特性,在录入关键词分类所表示的产品时可以把产品对应的参数存入对应的动态表中,在前台搜索时根据分类和输入条件的不同拼接成不同的查询语句来对产品进行查询。
Claims (3)
1.基于参数的搜索引擎,其特征在于:首先建立参数模板,即先将关键词进行分类,然后根据分类建立参数模板,将参数模板具体信息和实体关系录入到数据库中,一个参数模板在数据库中对应生成一个动态表;然后录入产品参数,即先通过该产品所在分类找到对应的参数模板,通过该参数模板将产品参数信息录入到对应的动态表中;使用该搜索引擎时,根据所要查询的关键词找到相应的参数模板,再通过该相应的参数模板将查询条件拼接成关系数据库查询语句到相应的动态表中查询,最后将动态表中查询的结果返回。
2.如权利要求1所述的基于参数的搜索引擎,其特征在于:所述动态表中,关键词分类表下的主键为关键词分类主键;参数模板表下的主键为参数模板主键,参数模板表下的第一外键为关键词分类主键;参数项单位分类表下的主键为参数项单位分类主键;参数项表下的主键为参数项主键,参数项表下的第一外键为参数项单位分类主键;参数项单位表下的主键为参数项单位主键,参数项单位表下的第一外键为参数项单位分类主键;参数分类表下的主键为参数分类主键;参数分类-参数项表下的主键为参数分类-参数项主键,参数分类-参数项表下的第一外键为参数分类主键,参数分类-参数项表下的第二外键为参数项主键;模板-参数分类-参数项表下的主键为模板-参数分类-参数项主键,模板-参数分类-参数项表下的第一外键为参数模板主键,模板-参数分类-参数项表下的第二外键为参数分类主键,模板-参数分类-参数项表下的第三外键为参数项主键。
3.如权利要求1所述的基于参数的搜索引擎,其特征在于:定义一个自定义控件,录入产品参数时,对应的参数模板和对应的动态表之间是通过该控件传递产品参数;使用该搜索引擎时,相应的参数模板和相应的动态表之间,通过该控件将查询条件拼接成关系数据库查询语句,并通过该控件将该查询语句传递到相应的动态表中查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100532643A CN101122915A (zh) | 2007-09-18 | 2007-09-18 | 基于参数的搜索引擎 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100532643A CN101122915A (zh) | 2007-09-18 | 2007-09-18 | 基于参数的搜索引擎 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101122915A true CN101122915A (zh) | 2008-02-13 |
Family
ID=39085251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100532643A Pending CN101122915A (zh) | 2007-09-18 | 2007-09-18 | 基于参数的搜索引擎 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101122915A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102016850A (zh) * | 2008-05-09 | 2011-04-13 | 微软公司 | 用于在线搜索和广告的关键词表达式语言 |
CN102955807A (zh) * | 2011-08-26 | 2013-03-06 | 华为软件技术有限公司 | 一种关联信息的检索方法及装置 |
CN103136339A (zh) * | 2013-02-01 | 2013-06-05 | 百度在线网络技术(北京)有限公司 | 一种基于业务信息的搜索方法、客户端和网络服务端 |
CN104239021A (zh) * | 2013-06-21 | 2014-12-24 | 阿里巴巴集团控股有限公司 | 搜索引擎查询串的生成方法和装置以及搜索引擎*** |
CN104615774A (zh) * | 2015-02-25 | 2015-05-13 | 郑州悉知信息技术有限公司 | 一种产品的属性信息添加方法及*** |
CN105653509A (zh) * | 2015-12-24 | 2016-06-08 | 北京经纬恒润科技有限公司 | 一种文档处理方法及装置 |
CN105989185A (zh) * | 2015-11-04 | 2016-10-05 | 北京卓易讯畅科技有限公司 | 例行任务及工具生成的***配置方法及其*** |
CN106294367A (zh) * | 2015-05-15 | 2017-01-04 | 常州明石晶电科技有限公司 | 搜索装置及其搜索方法 |
CN104615774B (zh) * | 2015-02-25 | 2018-08-31 | 郑州悉知信息科技股份有限公司 | 一种产品的属性信息添加方法及*** |
CN110765256A (zh) * | 2019-12-24 | 2020-02-07 | 杭州实在智能科技有限公司 | 一种在线法律咨询自动回复的生成方法与设备 |
CN111222838A (zh) * | 2019-10-28 | 2020-06-02 | 中山市景荣电子有限公司 | 一种细化范围参数管理产品的方法及储存介质、计算机 |
CN112148751A (zh) * | 2019-06-28 | 2020-12-29 | 北京百度网讯科技有限公司 | 用于查询数据的方法和装置 |
-
2007
- 2007-09-18 CN CNA2007100532643A patent/CN101122915A/zh active Pending
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102016850B (zh) * | 2008-05-09 | 2013-06-05 | 微软公司 | 用于在线搜索和广告的关键词表达式语言 |
CN102016850A (zh) * | 2008-05-09 | 2011-04-13 | 微软公司 | 用于在线搜索和广告的关键词表达式语言 |
CN102955807A (zh) * | 2011-08-26 | 2013-03-06 | 华为软件技术有限公司 | 一种关联信息的检索方法及装置 |
CN102955807B (zh) * | 2011-08-26 | 2018-10-30 | 华为软件技术有限公司 | 一种关联信息的检索方法及装置 |
CN103136339A (zh) * | 2013-02-01 | 2013-06-05 | 百度在线网络技术(北京)有限公司 | 一种基于业务信息的搜索方法、客户端和网络服务端 |
CN104239021B (zh) * | 2013-06-21 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 搜索引擎查询串的生成方法和装置以及搜索引擎*** |
CN104239021A (zh) * | 2013-06-21 | 2014-12-24 | 阿里巴巴集团控股有限公司 | 搜索引擎查询串的生成方法和装置以及搜索引擎*** |
CN104615774A (zh) * | 2015-02-25 | 2015-05-13 | 郑州悉知信息技术有限公司 | 一种产品的属性信息添加方法及*** |
CN104615774B (zh) * | 2015-02-25 | 2018-08-31 | 郑州悉知信息科技股份有限公司 | 一种产品的属性信息添加方法及*** |
CN106294367A (zh) * | 2015-05-15 | 2017-01-04 | 常州明石晶电科技有限公司 | 搜索装置及其搜索方法 |
CN105989185A (zh) * | 2015-11-04 | 2016-10-05 | 北京卓易讯畅科技有限公司 | 例行任务及工具生成的***配置方法及其*** |
CN105653509A (zh) * | 2015-12-24 | 2016-06-08 | 北京经纬恒润科技有限公司 | 一种文档处理方法及装置 |
CN112148751A (zh) * | 2019-06-28 | 2020-12-29 | 北京百度网讯科技有限公司 | 用于查询数据的方法和装置 |
CN112148751B (zh) * | 2019-06-28 | 2024-05-07 | 北京百度网讯科技有限公司 | 用于查询数据的方法和装置 |
CN111222838A (zh) * | 2019-10-28 | 2020-06-02 | 中山市景荣电子有限公司 | 一种细化范围参数管理产品的方法及储存介质、计算机 |
CN111222838B (zh) * | 2019-10-28 | 2023-08-18 | 中山市景荣电子有限公司 | 一种细化范围参数管理产品的方法及储存介质、计算机 |
CN110765256A (zh) * | 2019-12-24 | 2020-02-07 | 杭州实在智能科技有限公司 | 一种在线法律咨询自动回复的生成方法与设备 |
CN110765256B (zh) * | 2019-12-24 | 2020-07-07 | 杭州实在智能科技有限公司 | 一种在线法律咨询自动回复的生成方法与设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101122915A (zh) | 基于参数的搜索引擎 | |
US11675781B2 (en) | Dynamic dashboard with guided discovery | |
CN106649225A (zh) | 一种基于json自定义的报表生成***及方法 | |
US8234569B2 (en) | Apparatus and method for defining and processing publication objects | |
US7668860B2 (en) | Apparatus and method for constructing and using a semantic abstraction for querying hierarchical data | |
CN110717319A (zh) | 一种自助报表生成方法、装置、计算设备和*** | |
US20110087708A1 (en) | Business object based operational reporting and analysis | |
CN104133772A (zh) | 一种自动生成测试数据的方法 | |
KR101505858B1 (ko) | 대용량 데이터를 용이하게 분석하기 위하여 테이블 관계 및 참조의 템플릿을 검색하여 제공하는 템플릿 기반 온라인 분석보고서 작성 지원 시스템 | |
CN102426582A (zh) | 数据操作管理装置和数据操作管理方法 | |
US20150331928A1 (en) | User-created members positioning for olap databases | |
CN104715032A (zh) | 一种报表***中英文表名字段名映射***及方法 | |
CN101408909B (zh) | 一种产品多专业一体化实现方法 | |
CN109976729A (zh) | 一种存算显全局可配置的数据分析软件架构设计方法 | |
US20050234959A1 (en) | User interfaces for categorization schemes | |
CN107203557A (zh) | 用于处理待搜索的对象的方法及装置 | |
CN114117645B (zh) | 一种舰船总体性能预报集成应用*** | |
CN104572832A (zh) | 一种需求元模型构建方法及装置 | |
KR102490941B1 (ko) | 엑셀 도구를 이용한 온라인 보고서 작성 시스템 | |
CN116450246A (zh) | 一种基于状态机的事件流转可配置方法 | |
CN115438291A (zh) | 一种生成表单的方法 | |
US20130218893A1 (en) | Executing in-database data mining processes | |
Nabli et al. | Towards an automatic data mart design | |
JP2002366401A (ja) | 統合的データマート構築及び運用支援システム | |
KR20180063043A (ko) | 컴포넌트-기반 소프트웨어 시스템 및 개발 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |