本发明涉及计算机技术领域,尤其涉及一种基于标签的检索。
背景技术:
随着信息时代的到来,服务器中存储的文件越来越多;用户可以使用终端从服务器中获取用户感兴趣的文件。为了提高用户的体验,服务器还可以为用户推荐用户感兴趣的文件。目前,服务器在为用户推荐文件时,统计的是服务器中每个文件的点击率,根据每个文件的点击率,选择点击率最高的文件,向用户推荐选择的文件。这种推荐方法不能很好地匹配用户需求,会出现推荐的内容和用户搜索内容不相符的情况。
技术实现要素:
为解决现有技术存在的问题,本发明提供了一种基于标签的检索方法,所述方法包括,
索引单元按照创建逻辑/更新逻辑从数据库中调用数据生成索引信息;
所述索引单元将所述索引信息发送至检索单元;
客户端接收用户输入的搜索字符串,并将该搜索字符串发送给检索单元;
所述检索单元根据所述搜索字符串在本地的索引信息中进行匹配处理;
生成搜索结果并发送给所述客户端。
进一步地,所述方法还包括,所述索引单元按照创建逻辑从数据库获取数据并生成索引信息,具体为,当索引单元判定数据符合创建条件时,生成索引信息。
进一步地,所述方法还包括,所述索引单元按照更新逻辑从数据库获取数据并生成新的索引信息,具体为,当索引单元发现索引信息到达更新时间点时,生成新的索引信息并发送至搜索单元以更新索引信息。
进一步地,所述方法还包括,所述索引单元按照更新逻辑从数据库获取数据并生成新的索引信息,具体为,当索引单元发现数据库中数据源的更新量达到更新阈值时,生成新的索引信息并发送至搜索单元以更新索引信息。
进一步地,所述方法还包括,所述客户端发送预定义信息至数据库,所述预定义信息包括创建逻辑和更新逻辑,所述数据库向客户端发送反馈信息。
进一步地,所述方法还包括,所述创建逻辑包括,搜索字段中包括的标签,统计各个标签出现的次数并生成索引信息。
进一步地,本发明还涉及一种基于标签的检索装置,所述装置包括,
索引单元用于按照创建逻辑/更新逻辑从数据库中调用数据生成索引信息,还用于将所述索引信息发送至检索单元;
客户端用于接收用户输入的搜索字符串,并将该搜索字符串发送给检索单元;
检索单元用于根据所述搜索字符串在本地的索引信息中进行匹配处理,还用于生成搜索结果并发送给所述客户端
本发明实施例提供的方法可以更好的根据用户需求提供搜索结果,提升用户的使用体验。
附图说明
图1为本发明实施例提供的基于标签的检索方法的流程图;
图2为本发明实施例提供的基于标签的检索装置的示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明基于标签的检索方法的流程图,如图所示,
步骤101:索引单元按照创建逻辑/更新逻辑从数据库中调用数据生成索引信息。
本发明中索引单元用于将数据库中的数据生成索引信息,特别是实时根据创建逻辑/更新逻辑生成索引信息,所述创建逻辑/更新逻辑是系统预先设定的,索引单元根据创建逻辑将数据库中的数据生成索引信息,当数据库有更新或者满足其他条件时,索引单元根据更新逻辑生成新的索引信息。
进一步地,所述客户端发送预定义信息至数据库,所述预定义信息包括创建逻辑和更新逻辑,所述数据库向客户端发送反馈信息。
具体的,所述客户端还可以向数据库发送预定义信息,该预定义信息包括创建逻辑和更新逻辑,所述数据库接收到所述预定义信息后,向客户端发送有关于信息是否送达的反馈信息,所述创建逻辑和更新逻辑是有关于索引单元如何创建或者更新索引信息的,因此所述数据库接收到所述创建逻辑和更新逻辑后,将所述创建逻辑和更新逻辑发送到所述索引单元,索引单元接收到所述创建逻辑和更新逻辑后,按照所述创建逻辑和更新逻辑进行索引信息的创建和更新。
进一步地,所述创建逻辑包括,搜索字段中包括的标签,统计各个标签出现的次数并生成索引信息。
具体为,所述创建逻辑包括了索引单元如何创建索引信息的方法,即索引单元对待创建索引信息的字段,进行标签和关键词的统计,将该字段涉及的所有关键词和所有标签创建为索引信息。由于有可能各个标签出现的次数不止一次,因此还需要统计各个标签的总出现次数,并将标签的总出现次数也统计在索引信息中。
进一步地,所述索引单元按照创建逻辑从数据库获取数据并生成索引信息,具体为,当索引单元判定数据符合创建条件时,生成索引信息。
具体为,当索引单元发现索引信息到达更新时间点时,生成新的索引信息并发送至搜索单元以更新索引信息。
具体为,当索引单元发现数据库中数据源的更新量达到更新阈值时,生成新的索引信息并发送至搜索单元以更新索引信息。
具体来讲,索引单元不仅能按照创建逻辑创建索引信息,还应当能够实时对已经创建的索引信息进行更新,所述更新逻辑可以是按照一定的时间间隔进行更新,也可以是检测到数据库发生了数据的变化而进行更新。索引单元的数据来源不只是一个数据库,而是一个由数个数据库组成的数据源,由于数据库更新速度很快,因此可以设定一个时间阈值,到了该时间阈值后,索引单元即根据更新逻辑对数据库的原索引信息进行更新。或者当数据库发送了数据的变更时,索引单元可以获取到该数据变更信息,当数据变更满足了更新逻辑的更新条件时,索引单元对数据库的原索引信息进行更新处理。所述更新处理可以包括在原索引信息基础上的删除、增加和修改。
步骤102,所述索引单元将所述索引信息发送至检索单元。
所述索引单元生成索引信息后,将所述索引信息发送至检索单元,以便进行下一步的搜索匹配操作。当索引单元生成新的索引信息时,也将新的索引信息发送至检索单元。
步骤103,客户端接收用户输入的搜索字符串,并将该搜索字符串发送给检索单元。
用户需要进行搜索时,可以在客户端输入搜索字符串,该搜索字符串应当包括了待搜索问题或者待搜索对象的关键字。客户端接收到所述搜索字符串后,将该搜索字符串发送给所述检索单元进行检索。
步骤104,所述检索单元根据所述搜索字符串在本地的索引信息中进行匹配处理。
所述检索单元接收到客户端发送的搜索字符串后,将所述搜索字符串所具有的关键词或者标签,在索引单元生成的索引信息中进行匹配,例如,在检索单元的某个字段中,该字段的标签和搜索字符串的标签或者关键词匹配度较高,则该字段就可以作为搜索字符串的一个检索结果。所述匹配是指,所述搜索字符串和字段具有同样的关键词或者标签,或者具有多个相同的关键词或者标签,重合的关键词或者标签的数量越多,那么匹配度就越高。
步骤105,生成搜索结果并发送给所述客户端。
所述检索单元接收到客户端发送的搜索字符串并获取到搜索字符串中包括的关键字或者标签后,根据该标签和关键字与检索单元中的索引信息进行匹配,若所述搜索字符串的关键字或者标签与某条索引信息的关键字或者标签的重合度较高,则认为该索引信息所对应的字段与所述搜索字符串的匹配度较高。如上所述得到一系列的字段,即搜索结果并将所述搜索结果发送给所述客户端。
图2为本发明基于标签的检索装置的示意图,如图所示,本发明装置包括索引单元1、客户端3和检索单元2。所述索引单元1和检索单元2信号连接,所述检索单元2和所述客户端3信号连接,所述索引单元1和所述客户端3通过数据库信号连接。
所述索引单元1用于按照创建逻辑/更新逻辑从数据库中调用数据生成索引信息,还用于将所述索引信息发送至检索单元2;
具体的,所述索引单元1按照预先设定的创建逻辑/更新逻辑调用数据库的数据生成索引信息,索引信息发送至检索单元2后用于和搜索字符串的关键词匹配生成搜索结果。
所述客户端3用于接收用户输入的搜索字符串,并将该搜索字符串发送给检索单元2;
用户在所述客户端3进行操作,比如进行搜索操作随后从客户端3获取搜索结果。
所述检索单元2用于根据所述搜索字符串在本地的索引信息中进行匹配处理,还用于生成搜索结果并发送给所述客户端3。
所述检索单元2接收索引单元1的索引信息后,将客户端3发送的搜索字符串的关键词和所述索引信息的关键词和标签进行匹配,若二者的重合度较高则认为匹配成功,若二者没有重合的关键词和标签,则认为匹配度低。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。