CN108121709A - 一种搜索处理方法及装置 - Google Patents
一种搜索处理方法及装置 Download PDFInfo
- Publication number
- CN108121709A CN108121709A CN201611069133.XA CN201611069133A CN108121709A CN 108121709 A CN108121709 A CN 108121709A CN 201611069133 A CN201611069133 A CN 201611069133A CN 108121709 A CN108121709 A CN 108121709A
- Authority
- CN
- China
- Prior art keywords
- clause
- search
- search engine
- language format
- sentence
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
- G06F16/24526—Internal representations for queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种搜索处理方法及装置,先设置好目标语言格式与各搜索引擎的语言格式映射关系;接收来自搜索客户端的目标语言格式的搜索语句然后根据搜索客户端的驱动类型确定对应的目标搜索引擎,进而根据目标语言格式与各搜索引擎的语言格式映射关系将接收到的搜索语句由目标语言格式转换为目标搜索引擎的语言格式,然后将转换后的搜索语句发给目标搜索引擎对应的搜索服务器进行搜索。本发明提供的搜索处理方法用户不需要掌握各搜索引擎的语言格式,也即不需要关心不同搜索引擎的语法格式,也即不需要关心各搜索引擎底部的API,降低搜索引擎使用难度,提升用户体验的满意度。
Description
技术领域
本发明涉及通信领域,尤其涉及一种搜索处理方法及装置。
背景技术
随着互联网的发展,为了提高用户的搜索体验,搜索引擎被广泛使用,如Google、Bing、百度等通用的网页搜索门户。而对于大部分站内搜索则采用开源的搜索引擎,当前主流的开源搜索引擎有Solr、ElasticSearch、Lucene、Sphinx等分布式、全文搜索引擎,可以快速部署,并提供比数据库更加精准的用户体验。
由于每种搜索引擎都有各自的语言格式,如果需要使用就必须先掌握各搜索引擎自身的语言格式,这就在一定程度上增加了使用搜索引擎的门槛,降低了用户体验的满意度。
发明内容
本发明实施例提供一种搜索处理方法及装置,以解决现有用户使用每种搜索引擎时都必须掌握各搜索引擎的语言格式,导致搜索引擎使用难度大,用户体验满意度低的问题。
为解决上述技术问题,本发明实施例提供一种搜索处理方法,包括:
接收来自搜索客户端的目标语言格式的搜索语句,并对所述搜索语句进行解析得到待执行的各子句信息;
根据所述搜索客户端的驱动类型确定对应的目标搜索引擎;
根据预设目标语言格式与各搜索引擎的语言格式映射关系,将所述搜索语句的各子句信息由所述目标语言格式映射为所述目标搜索引擎的语言格式,并进行组装得到转换后的搜索语句;
将转换后的所述搜索语句发给所述目标搜索引擎对应的搜索服务器;
接收所述搜索服务器反馈的处理结果,将所述处理结果的语言格式转换为所述目标格式后返回给所述搜索客户端。
为解决上述技术问题,本发明实施例提供一种搜索处理装置,包括:
接收模块,用于接收来自搜索客户端的目标语言格式的搜索语句,并对所述搜索语句进行解析得到待执行的各子句信息;
分析模块,用于根据所述搜索客户端的驱动类型确定对应的目标搜索引擎;
转换模块,用于根据预设目标语言格式与各搜索引擎的语言格式映射关系,将所述搜索语句的各子句信息由所述目标语言格式映射为所述目标搜索引擎的语言格式,并进行组装得到转换后的搜索语句;
发送模块,用于将转换后的所述搜索语句发给所述目标搜索引擎对应的搜索服务器;
结果处理模块,用于接收所述搜索服务器反馈的处理结果,将所述处理结果的语言格式转换为所述目标格式后返回给所述搜索客户端。
本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述的搜索处理方法。
有益效果
本发明实施例提供的搜索处理方法、装置及计算机存储介质,先设置好目标语言格式与各搜索引擎的语言格式映射关系;接收来自搜索客户端的目标语言格式的搜索语句并进行解析得到包含相关参数的各子句信息,然后根据搜索客户端的驱动类型确定对应的目标搜索引擎,进而根据目标语言格式与各搜索引擎的语言格式映射关系将解析得到的分字句信息由目标语言格式转换为目标搜索引擎的语言格式然后进行组装得到转换后的搜索语句,然后发给目标搜索引擎对应的搜索服务器进行搜索,最后将搜索服务器处理结果的语言格式转换为所述目标格式后返回给搜索客户端。本发明提供的搜索处理方法用户不需要掌握各搜索引擎的语言格式,即不需要关心不同搜索引擎的语法格式,也即不需要关心各搜索引擎底部的API(Application Programming Interface,应用程序编程接口),降低搜索引擎使用难度,提升用户体验的满意度。
附图说明
图1为本发明实施例一中搜索处理方法流程示意图;
图2为本发明实施例二中搜索处理装置结构示意图;
图3为本发明实施例三中搜索处理方法流程示意图;
图4为本发明实施例三中实现查询方法流程示意图;
图5为本发明实施例三中实现插入方法流程示意图;
图6为本发明实施例三中实现更新方法流程示意图;
图7为本发明实施例三中实现删除方法流程示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例一:
本实施例先设置好通用的目标语言格式与各搜索引擎的语言格式映射关系;这样用户在搜索时只需要使用目标语言格式的搜索语句即可实现在各种搜索引擎上完成搜索业务处理,而不需要掌握各搜索引擎的语言格式,也即不需要关心各搜索引擎底部的API(Application Programming Interface,应用程序编程接口),降低搜索引擎使用难度,提升用户体验的满意度。本实施例中的搜索引擎可以是各种开源引擎,例如包括但不限于Lucene、Sphinx、Xapian、Nutch、DataparkSearch、Zettair、Indri、Terrier、Terrier、Zebra、Solr、Elasticsearch、Whoosh。
下面对搜索处理方法进行示例说明,参见图1所示,包括:
S101:接收来自搜索客户端的目标语言格式的搜索语句并进行解析得到待执行的各子句;本实施例中的搜索语句可以支持查询SELECT、插入INSERT、更新UPDATE、删除DELETE四种数据定义命令,不同搜索语句各自包含自己对应的子句,以及各子句中包含对应的参数。
S102:根据该搜索客户端的驱动类型确定对应的目标搜索引擎。
S103:根据预设目标语言格式与各搜索引擎的语言格式映射关系,将解析得到的各子句信息由目标语言格式映射为目标搜索引擎的语言格式,并进行对应的组装得到转换后的搜索语句。本实施例中对转换后的各字句进行组合时可以根据具体目标搜索引擎的语言格式规则进行组合。
S104:将转换后的搜索语句发给目标搜索引擎对应的搜索服务器。
S105:接收目标搜索服务器对该搜索语句进行处理得到的处理结果,该处理结果为目标搜索服务器自身的语言格式。
S106:将所述处理结果的语言格式转换为所述目标格式后返回给搜索客户端。
如上所述,本实施例中的搜索语句可以支持查询SELECT、插入INSERT、更新UPDATE、删除DELETE四种数据定义命令。因此本实施例中的搜索语句可以包括查询语句(SELECT语句)、插入语句(INSERT语句)、更新语句(UPDATE语句)和删除语句(DELETE语句)中的至少一个。下面以分别实现上述功能进行示例说明。
实现查询功能时,搜索客户端下发的搜索语句可以包含查询语句,该查询语句可以包括目标语言格式以下子句:
含查询返回字段的查询子句(select子句);
含查询表名的表名子句(from子句);
含查询条件的查询条件子句(where子句);
含分页信息的分页子句(limit子句);
含排序条件的排序子句(order by子句)。
此时,上述S103中,将解析得到的各子句信息由目标语言格式映射为目标搜索引擎的语言格式包括:
将目标语言格式的查询子句、表名子句、查询条件子句、分页子句以及排序子句映射为目标搜索引擎的语言格式的查询子句、表名子句、查询条件子句、分页子句以及排序子句。具体搜索引擎的语言格式需要根据具体的搜索引擎而定。
实现插入功能时,搜索客户端下发的搜索语句可以包括插入语句;该插入语句包括目标语言格式的以下子句:
目标语言格式的插入子句(insert into子句),插入子句包含插入信息的表名和字段;
插入值子句(values子句),包含插入字段值。
此时,上述S103中,将解析得到的各子句信息由目标语言格式映射为目标搜索引擎的语言格式包括:
将目标语言格式的插入子句、以及插入值子句映射为目标搜索引擎的语言格式的插入子句、以及插入值子句。
实现更新功能时,搜索客户端下发的搜索语句可以包括更新语句;该更新语句包括目标语言格式的以下子句:
含更新表名的更新子句(update子句);
含更新字段及其更新值的设置子句(set子句);
以及含更新条件的条件子句(where子句)。
此时,上述S103中,将解析得到的各子句信息由目标语言格式映射为目标搜索引擎的语言格式包括:
将目标语言格式的更新子句、设置子句以及条件子句映射为目标搜索引擎的语言格式的更新子句、设置子句以及条件子句。
实现删除功能时,搜索客户端下发的搜索语句可以包括删除语句,该删除语句包括目标语言格式的以下子句:
含删除表名的删除子句(delete from子句);
含删除条件的删除条件子句(where子句)。
此时,上述S103中,将解析得到的各子句信息由目标语言格式映射为目标搜索引擎的语言格式包括:
将目标语言格式的删除子句、删除条件子句映射为目标搜索引擎的语言格式的删除子句、删除条件子句。
另外,应当理解的是,本实施例中的目标语言格式可以为SQL(Structure QueryLanguge,结构化查询语言)格式,SQL是一种通用的数据库操作语言,虽然不同公司的数据库有一些专属的SQL语法,但大体上,它们都遵循ASNI(美国国家标准协会)制定的SQL标准。因此SQL语言具有简单易学、方便阅读等特性,因此可以成为一种通用的标准查询语言。当然,除了SQL语言外,也可以为其他任意通用性以及易用性比较好的语言。
实施例二:
本实施例提供一种搜索处理装置,该搜索处理装置可以设置于搜索客户端中,也可以设置于与搜索客户端配合工作的中转服务器中。参见图2所示,本实施例中的搜索处理装置包括:
接收模块21,用于接收来自搜索客户端的目标语言格式的搜索语句并进行解析得到待执行的各子句;本实施例中的搜索语句可以支持查询SELECT、插入INSERT、更新UPDATE、删除DELETE四种数据定义命令。
分析模块22,用于根据搜索客户端的驱动类型确定对应的目标搜索引擎。
转换模块23,用于根据预设目标语言格式与各搜索引擎的语言格式映射关系,将解析得到的各子句信息由目标语言格式映射为目标搜索引擎的语言格式,并进行对应的组装得到转换后的搜索语句。
发送模块24,用于将转换后的搜索语句发给目标搜索引擎对应的搜索服务器。
结果处理模块25,用于接收目标搜索服务器对该搜索语句进行处理得到的处理结果,该处理结果为目标搜索服务器自身的语言格式,并将处理结果的语言格式转换为目标格式后返回给搜索客户端。
可见,本实施例中的搜索处理装置可以设置通用的目标语言格式与各搜索引擎的语言格式映射关系,这样用户在搜索时搜索处理装置只需要使用目标语言格式的搜索语句即可实现在各种搜索引擎上完成搜索业务处理,而不需要掌握各搜索引擎的语言格式,也即不需要关心各搜索引擎底部的API(Application Programming Interface,应用程序编程接口),降低搜索引擎使用难度,提升用户体验的满意度。本实施例中的搜索引擎可以是各种开源引擎,例如包括但不限于Lucene、Sphinx、Xapian、Nutch、DataparkSearch、Zettair、Indri、Terrier、Terrier、Zebra、Solr、Elasticsearch、Whoosh。
如上所述,本实施例中的搜索语句可以支持查询SELECT、插入INSERT、更新UPDATE、删除DELETE四种数据定义命令。因此本实施例中的搜索语句可以包括查询语句(SELECT语句)、插入语句(INSERT语句)、更新语句(UPDATE语句)和删除语句(DELETE语句)中的至少一个。下面以分别实现上述功能进行示例说明。
实现查询功能时,搜索客户端下发的搜索语句可以包含查询语句,接收模块对该查询语句进行解析可以得到目标语言格式以下子句:
含查询返回字段的查询子句(select子句);
含查询表名的表名子句(from子句);
含查询条件的查询条件子句(where子句);
含分页信息的分页子句(limit子句);
含排序条件的排序子句(order by子句)。
此时,转换模块23用于将目标语言格式的查询子句、表名子句、查询条件子句、分页子句以及排序子句映射为目标搜索引擎的语言格式。具体搜索引擎的语言格式需要根据具体的搜索引擎而定。
实现插入功能时,搜索客户端下发的搜索语句可以包括插入语句;接收模块对对该插入语句进行解析可以得到目标语言格式的以下子句:
目标语言格式的插入子句(insert into子句),插入子句包含插入信息的表名和字段;
插入值子句(values子句),包含插入字段值。
此时,转换模块23用于将目标语言格式的插入子句、以及插入值子句映射为目标搜索引擎的语言格式。
实现更新功能时,搜索客户端下发的搜索语句可以包括更新语句;接收模块对该更新语句进行解析可以得到目标语言格式的以下子句:
含更新表名的更新子句(update子句);
含更新字段及其更新值的设置子句(set子句);
以及含更新条件的条件子句(where子句)。
此时,转换模块23用于将目标语言格式的更新子句、设置子句以及条件子句转换为目标搜索引擎的语言格式。
实现删除功能时,搜索客户端下发的搜索语句可以包括删除语句,接收模块对该删除语句进行解析可以得到目标语言格式的以下子句:
含删除表名的删除子句(delete from子句);
含删除条件的删除条件子句(where子句)。
此时,转换模块23用于将目标语言格式的删除子句、删除条件子句转换为目标搜索引擎的语言格式。
另外,应当理解的是,本实施例中的目标语言格式可以为SQL(Structure QueryLanguge,结构化查询语言)格式,当然,除了SQL语言外,也可以为其他任意通用性以及易用性比较好的语言。
应当理解的是,本实施例中的上述各模块的功能可以由搜索客户端或中转服务器中的处理器或控制器实现。
实施例三:
为了更好的理解本发明,下面以目标语言为SQL,搜索引擎为Solr和ElasticSearch为示例进行说明。此时的搜索处理方法参见图3所示,包括:
S301:接收SQL搜索语句,对该SQL操作语句进行解析;
S302:根据驱动类型判断当前选择哪个搜索引擎,如果是Solr转至S303;否则,转至S304;
S303:组装Solr语法,向Solr搜索引擎服务器发送搜索请求;
S304:组装ElasticSearch语法,向ElasticSearch搜索引擎服务器发送搜索请求;
S305:对应的搜索引擎服务器返回搜索结果。
下面对实现查询SELECT、插入INSERT、更新UPDATE、删除DELETE四种数据定义命令的过程分别进行示例说明。
实现查询Select命令过程参见图4所示,包括:
S401:解析查询Select语句。
根据关键字解析select语句,获取查询相关的参数信息:select子句对应查询返回字段,from子句对应查询的表名,where子句对应查询条件,limit子句对应分页信息,orderby子句对应排序条件;如:selectbook_id,book_namefrombookswherebook_id>10andbook_id<50orderbybook_iddesclimit0,5,具体参见以下表1所示:
表1
S402:确定搜索引擎,并按照对应的搜索引擎语法组装搜索引擎接口代码。
具体的,根据驱动类型,选择Solr或ElasticSearch等搜索引擎,然后把解析的查询参数组装成查询客户端代码(如返回字段book_id,book_name对应的solr代码:SolrQueryquery=newSolrQuery();query.setFields(“book_id,book_name”););
S403:向搜索引擎服务器发送转换后的查询请求。
向搜索引擎服务器发送查询请求(如solr客户端代码:QueryResponse response=server.query(query);其中server是搜索引擎服务器对象,query是查询条件对象);
S404:获取查询结果并转换后反馈给客户端。
获取搜索引擎的查询结果(如solr客户端代码:SolrDocumentList docList=response.getResults();),并从搜索引擎对象中取出返回字段,按照SQL格式返回字段值。
实现插入Insert命令过程参见图5所示,包括:
S501:解析插入Insert语句。
根据关键字解析insert语句,获取插入数据的相关参数:insert into子句对应插入记录的表名和字段信息,values子句对应插入字段的值;如:insert into books(book_id,book_name,book_author)values(100,"java权威指南","张三");参见以下表2所示:
表2
S502:确定搜索引擎,并按照对应的搜索引擎语法组装搜索引擎接口代码。
根据驱动类型,选择Solr或ElasticSearch等搜索引擎,然后把解析的插入参数组装成新增索引的客户端代码(如solr插入字段值的代码:SolrInputDocument doc=newSolrInputDocument();doc.addField(book_id,100);)。
S503:向搜索引擎服务器发送转换后的插入请求。
向搜索引擎服务器发送新增索引记录的请求(如solr客户端代码:UpdateResponse updateResponse=server.add(docs);,其中server是搜索引擎服务器对象,docs是需要增加的记录对象)。
S504:获取处理结果并转换后反馈给客户端。
获取搜索引擎的返回值(如solr客户端代码:UpdateResponse updateResponse=server.commit();),是否插入成功。
实现更新Update命令过程参见图6所示,包括:
S601:解析更新Update语句。
根据关键字解析update语句,获取更新数据的相关参数:update子句对应更新记录的表名,set子句对应更新字段及其新值,where子句对应更新记录满足的条件;如:update books set book_name=java where book_id=5;具体参见表3所示:
表3
根据驱动类型,选择Solr或ElasticSearch等搜索引擎,然后根据where条件使用select模块查询满足条件的所有记录值(如:select*from books where book_id=5;);
S602:查询满足where条件。
S603:如果有查询到新值的字段使用新值,如果没有查询到新值就使用查询结果值,更新索引。
对满足条件的记录如果没有设置新值,则使用查询的旧值,否则采用新值重新更新索引记录,把相关参数组装为索引客户端代码(如solr插入字段值的代码:SolrInputDocument doc=new SolrInputDocument();doc.addField(book_id,5);doc.addField(book_name,“java”););
S604:按照对应的搜索引擎语法组装搜索引擎接口代码并进行发送。
向搜索引擎服务器发送新增索引记录的请求(如solr客户端代码:UpdateResponse updateResponse=server.add(docs);其中server是搜索引擎服务器对象,docs是需要增加的记录对象),覆盖原来的索引记录。
S605:获取更新结果。
获取搜索引擎的返回值(如solr客户端代码:UpdateResponse updateResponse=server.commit();),是否更新成功。
实现删除Delete命令过程参见图7所示,包括:
S701:解析删除Delete语句。
根据关键字解析delete语句,获取删除数据的相关参数:delete from子句对应删除记录的表名,where子句对应删除记录满足的条件;如:delete from books where book_id<11;具体参见以下表4所示:
表4
S702:确定搜索引擎,并按照对应的搜索引擎语法组装搜索引擎接口代码。
根据驱动类型,选择Solr或ElasticSearch等搜索引擎,然后根据删除条件,向搜索引擎服务器发送删除索引记录的请求(如sorl客户端代码:UpdateResponse update=server.deleteByQuery(deleteQuery);其中server是搜索引擎服务器对象,deleteQuery是删除条件)。
S703:向搜索引擎服务器发送转换后的删除请求。
S704:获取删除结果并转换后反馈给客户端。
获取搜索引擎的返回值(如solr客户端代码:UpdateResponse updateResponse=server.commit();),是否删除成功。
显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种搜索处理方法,包括:
接收来自搜索客户端的目标语言格式的搜索语句,并对所述搜索语句进行解析得到待执行的各子句信息;
根据所述搜索客户端的驱动类型确定对应的目标搜索引擎;
根据预设目标语言格式与搜索引擎的语言格式映射关系,将所述搜索语句的各子句信息由所述目标语言格式映射为所述目标搜索引擎的语言格式,并进行组装得到转换后的搜索语句;
将转换后的所述搜索语句发给所述目标搜索引擎对应的搜索服务器;
接收所述搜索服务器反馈的处理结果,将所述处理结果的语言格式转换为所述目标格式后返回给所述搜索客户端。
2.如权利要求1所述的搜索处理方法,其特征在于,所述搜索语句包括查询语句;
对所述查询语句进行解析得到所述目标语言格式的含查询返回字段的查询子句、含查询表名的表名子句、含查询条件的查询条件子句、含分页信息的分页子句以及含排序条件的排序子句;
将所述各子句信息由所述目标语言格式映射为所述目标搜索引擎的语言格式包括:
根据所述目标语言格式与搜索引擎的语言格式映射关系,将所述目标语言格式的查询子句、表名子句、查询条件子句、分页子句以及排序子句分别映射成所述目标搜索引擎的语言格式的查询子句、表名子句、查询条件子句、分页子句以及排序子句。
3.如权利要求1所述的搜索处理方法,其特征在于,所述搜索语句包括插入语句;
对所述插入语句进行解析得到所述目标语言格式的插入子句、以及插入值子句,所述插入子句包含插入信息的表名和字段,所述插入子句包含插入字段值;
将所述各子句信息由所述目标语言格式映射为所述目标搜索引擎的语言格式包括:
根据所述目标语言格式与搜索引擎的语言格式映射关系,将所述目标语言格式的插入子句、以及插入值子句映射为所述目标搜索引擎的语言格式的插入子句、以及插入值子句。
4.如权利要求1所述的搜索处理方法,其特征在于,所述搜索语句包括更新语句;
对所述更新语句进行解析得到所述目标语言格式的含更新表名的更新子句,含更新字段及其更新值的设置子句以及含更新条件的条件子句;
将所述各子句信息由所述目标语言格式映射为所述目标搜索引擎的语言格式包括:
根据所述目标语言格式与搜索引擎的语言格式映射关系,将所述目标语言格式的更新子句、设置子句以及条件子句映射为所述目标搜索引擎的语言格式的更新子句、设置子句以及条件子句。
5.如权利要求1所述的搜索处理方法,其特征在于,所述搜索语句包括删除语句;
对所述删除语句进行解析得到所述目标语言格式的含删除表名的删除子句,含删除条件的删除条件子句;
将所述各子句由所述目标语言格式映射为所述目标搜索引擎的语言格式包括:
根据所述目标语言格式与搜索引擎的语言格式映射关系,将所述目标语言格式的删除子句、删除条件子句映射为所述目标搜索引擎的语言格式的删除子句、删除条件子句。
6.如权利要求1-5任一项所述的搜索处理方法,其特征在于,所述目标语言格式为结构化查询语言格式。
7.一种搜索处理装置,包括:
接收模块,用于接收来自搜索客户端的目标语言格式的搜索语句,并进行解析得到待执行的各子句信息;
分析模块,用于根据所述搜索客户端的驱动类型确定对应的目标搜索引擎;
转换模块,用于根据预设目标语言格式与搜索引擎的语言格式映射关系,将所述搜索语句的各子句信息由所述目标语言格式映射为所述目标搜索引擎的语言格式,并进行组装得到转换后的搜索语句;
发送模块,用于将转换后的所述搜索语句发给所述目标搜索引擎对应的搜索服务器;
结果处理模块,用于接收所述搜索服务器反馈的处理结果,将所述处理结果的语言格式转换为所述目标格式后返回给所述搜索客户端。
8.如权利要求7所述的搜索处理装置,其特征在于,所述搜索语句包括查询语句;
所述接收模块用于对所述查询语句进行解析得到所述目标语言格式的含查询返回字段的查询子句、含查询表名的表名子句、含查询条件的查询条件子句、含分页信息的分页子句以及含排序条件的排序子句;
所述转换模块用于根据所述目标语言格式与搜索引擎的语言格式映射关系,将所述目标语言格式的查询子句、表名子句、查询条件子句、分页子句以及排序子句分别映射成所述目标搜索引擎的语言格式的查询子句、表名子句、查询条件子句、分页子句以及排序子句。
9.如权利要求7所述的搜索处理装置,其特征在于,所述搜索语句包括插入语句;
所述接收模块用于对所述插入语句进行解析得到所述目标语言格式的插入子句、以及插入值子句,所述插入子句包含插入信息的表名和字段,所述插入子句包含插入字段值;
所述转换模块用于根据所述目标语言格式与搜索引擎的语言格式映射关系,将所述目标语言格式的插入子句、以及插入值子句映射为所述目标搜索引擎的语言格式的插入子句、以及插入值子句。
10.如权利要求7-9任一项所述的搜索处理装置,其特征在于,所述搜索语句包括更新语句;
所述接收模块用于对所述更新语句进行解析得到所述目标语言格式的含更新表名的更新子句,含更新字段及其更新值的设置子句以及含更新条件的条件子句;
所述转换模块用于根据所述目标语言格式与搜索引擎的语言格式映射关系,将所述目标语言格式的更新子句、设置子句以及条件子句映射为所述目标搜索引擎的语言格式的更新子句、设置子句以及条件子句;
或,所述搜索语句包括删除语句;
所述接收模块用于对所述删除语句进行解析得到所述目标语言格式的含删除表名的删除子句,含删除条件的删除条件子句;
所述转换模块用于根据所述目标语言格式与搜索引擎的语言格式映射关系,将所述目标语言格式的删除子句、删除条件子句映射为所述目标搜索引擎的语言格式的删除子句、删除条件子句。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611069133.XA CN108121709A (zh) | 2016-11-28 | 2016-11-28 | 一种搜索处理方法及装置 |
PCT/CN2017/112544 WO2018095351A1 (zh) | 2016-11-28 | 2017-11-23 | 搜索处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611069133.XA CN108121709A (zh) | 2016-11-28 | 2016-11-28 | 一种搜索处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108121709A true CN108121709A (zh) | 2018-06-05 |
Family
ID=62194763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611069133.XA Withdrawn CN108121709A (zh) | 2016-11-28 | 2016-11-28 | 一种搜索处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108121709A (zh) |
WO (1) | WO2018095351A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933585A (zh) * | 2019-02-22 | 2019-06-25 | 京东数字科技控股有限公司 | 数据查询方法和数据查询系统 |
CN111339421A (zh) * | 2020-02-28 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 基于云技术的信息搜索的方法、装置、设备及存储介质 |
CN111680313A (zh) * | 2020-06-08 | 2020-09-18 | 南京领行科技股份有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN111767309A (zh) * | 2020-07-07 | 2020-10-13 | 中电万维信息技术有限责任公司 | 一种基于开关设计模式优化检索的方法 |
CN112307061A (zh) * | 2019-10-31 | 2021-02-02 | 北京京东尚科信息技术有限公司 | 用于查询数据的方法和装置 |
CN113505143A (zh) * | 2021-07-22 | 2021-10-15 | 浙江大华技术股份有限公司 | 语句类型的转换方法、装置、存储介质及电子装置 |
CN114064729A (zh) * | 2021-11-23 | 2022-02-18 | 北京锐安科技有限公司 | 一种数据检索方法、装置、设备及存储介质 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984612B (zh) * | 2018-06-12 | 2024-02-02 | 中国平安人寿保险股份有限公司 | 目标sql语句的获取方法、装置、计算机设备及存储介质 |
CN109815366B (zh) * | 2019-01-25 | 2023-07-14 | 浪潮软件科技有限公司 | 一种实现视频聚合搜索语音对接的方法及装置 |
CN110175157B (zh) * | 2019-04-24 | 2023-10-03 | 平安科技(深圳)有限公司 | 一种列存储文件的查询方法及查询装置 |
CN110489445B (zh) * | 2019-08-02 | 2023-03-21 | 四川宏力信息科技有限责任公司 | 一种基于多形态复合的海量数据快速查询方法 |
CN111209307A (zh) * | 2020-01-07 | 2020-05-29 | 深圳迅策科技有限公司 | 数据动态归类处理方法、装置、终端设备及存储介质 |
CN111597776A (zh) * | 2020-04-01 | 2020-08-28 | 深圳壹账通智能科技有限公司 | 自适应表单检索方法、装置、介质及电子设备 |
CN111460023B (zh) * | 2020-04-29 | 2023-06-09 | 上海东普信息科技有限公司 | 基于Elasticsearch的业务数据处理方法、装置、设备及存储介质 |
CN112052367B (zh) * | 2020-07-23 | 2024-09-13 | 北京三快在线科技有限公司 | 一种搜索方法、装置、电子设备及存储介质 |
CN112231321B (zh) * | 2020-10-20 | 2022-09-20 | 中国电子科技集团公司第二十八研究所 | 一种Oracle二级索引及索引实时同步方法 |
CN113760969A (zh) * | 2021-02-10 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种基于ElasticSearch的数据查询方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706810A (zh) * | 2009-11-23 | 2010-05-12 | 北京中创信测科技股份有限公司 | 一种数据库查询方法及装置 |
CN103365914A (zh) * | 2012-04-10 | 2013-10-23 | 北京易盟天地信息技术有限公司 | 基于搜索引擎的数据库查询系统和方法 |
US20150220601A1 (en) * | 2014-02-06 | 2015-08-06 | International Business Machines Corporation | Searching content managed by a search engine using relational database type queries |
CN105260403A (zh) * | 2015-09-22 | 2016-01-20 | 广东同望科技股份有限公司 | 通用跨数据库访问方法 |
CN105868204A (zh) * | 2015-01-21 | 2016-08-17 | 中国移动(深圳)有限公司 | 一种转换Oracle脚本语言SQL的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070073675A1 (en) * | 2005-09-24 | 2007-03-29 | International Business Machines Corporation | Database query translation |
CN100437587C (zh) * | 2006-12-31 | 2008-11-26 | 华为技术有限公司 | 一种基于数据库的业务处理方法及装置 |
CN103699655B (zh) * | 2013-12-27 | 2017-02-15 | 福建星网视易信息系统有限公司 | 实现数据库国际化的方法及装置、数据转换方法及系统 |
-
2016
- 2016-11-28 CN CN201611069133.XA patent/CN108121709A/zh not_active Withdrawn
-
2017
- 2017-11-23 WO PCT/CN2017/112544 patent/WO2018095351A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706810A (zh) * | 2009-11-23 | 2010-05-12 | 北京中创信测科技股份有限公司 | 一种数据库查询方法及装置 |
CN103365914A (zh) * | 2012-04-10 | 2013-10-23 | 北京易盟天地信息技术有限公司 | 基于搜索引擎的数据库查询系统和方法 |
US20150220601A1 (en) * | 2014-02-06 | 2015-08-06 | International Business Machines Corporation | Searching content managed by a search engine using relational database type queries |
CN105868204A (zh) * | 2015-01-21 | 2016-08-17 | 中国移动(深圳)有限公司 | 一种转换Oracle脚本语言SQL的方法及装置 |
CN105260403A (zh) * | 2015-09-22 | 2016-01-20 | 广东同望科技股份有限公司 | 通用跨数据库访问方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933585A (zh) * | 2019-02-22 | 2019-06-25 | 京东数字科技控股有限公司 | 数据查询方法和数据查询系统 |
CN109933585B (zh) * | 2019-02-22 | 2021-11-02 | 京东数字科技控股有限公司 | 数据查询方法和数据查询系统 |
CN112307061A (zh) * | 2019-10-31 | 2021-02-02 | 北京京东尚科信息技术有限公司 | 用于查询数据的方法和装置 |
CN111339421A (zh) * | 2020-02-28 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 基于云技术的信息搜索的方法、装置、设备及存储介质 |
CN111339421B (zh) * | 2020-02-28 | 2023-02-28 | 腾讯科技(深圳)有限公司 | 基于云技术的信息搜索的方法、装置、设备及存储介质 |
CN111680313A (zh) * | 2020-06-08 | 2020-09-18 | 南京领行科技股份有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN111680313B (zh) * | 2020-06-08 | 2022-06-28 | 南京领行科技股份有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN111767309A (zh) * | 2020-07-07 | 2020-10-13 | 中电万维信息技术有限责任公司 | 一种基于开关设计模式优化检索的方法 |
CN111767309B (zh) * | 2020-07-07 | 2022-06-24 | 中电万维信息技术有限责任公司 | 一种基于开关设计模式优化检索的方法 |
CN113505143A (zh) * | 2021-07-22 | 2021-10-15 | 浙江大华技术股份有限公司 | 语句类型的转换方法、装置、存储介质及电子装置 |
CN113505143B (zh) * | 2021-07-22 | 2024-07-30 | 浙江大华技术股份有限公司 | 语句类型的转换方法、装置、存储介质及电子装置 |
CN114064729A (zh) * | 2021-11-23 | 2022-02-18 | 北京锐安科技有限公司 | 一种数据检索方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2018095351A1 (zh) | 2018-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108121709A (zh) | 一种搜索处理方法及装置 | |
US10430445B2 (en) | Text indexing and passage retrieval | |
US8423546B2 (en) | Identifying key phrases within documents | |
US6598039B1 (en) | Natural language interface for searching database | |
Marginean | Question answering over biomedical linked data with grammatical framework | |
EP3522029A1 (en) | Natural language search results for intent queries | |
DE102016125852A1 (de) | Verfahren und Vorrichtung für das Ermitteln des nicht-textlichen Antwortinhalts zur Einbeziehung in eine Antwort auf eine elektronische Kommunikation | |
WO2014160379A1 (en) | Dimensional articulation and cognium organization for information retrieval systems | |
US20150081715A1 (en) | Retrieval device and method | |
US10678820B2 (en) | System and method for computerized semantic indexing and searching | |
JP2016018566A (ja) | 単文/複文構造の自然言語クエリに対する検索および情報提供方法並びにシステム | |
CN105404693B (zh) | 一种基于需求语义的服务聚类方法 | |
DE112016006832T5 (de) | Indexer für natürliche Sprache für virtuelle Assistenten | |
CN113190687B (zh) | 知识图谱的确定方法、装置、计算机设备及存储介质 | |
CN106933869A (zh) | 一种操作数据库的方法和装置 | |
CN111339424A (zh) | 基于关键词进行搜索的方法、装置、设备及存储介质 | |
CN104281565A (zh) | 语义词典构建方法和装置 | |
JP2005250980A (ja) | 文書検索システム、検索条件入力装置、検索実行装置、文書検索方法、および文書検索プログラム | |
CN106502980B (zh) | 一种基于文本词素切分的检索方法及系统 | |
KR100885527B1 (ko) | 문맥 기반 색인데이터 생성장치와 문맥기반 검색장치 및 그방법 | |
CN110069703B (zh) | 一种基于特征增强的微博话题检测方法 | |
Bagheri et al. | Semantic Concept of Delayed Marriage Age Based on Grounded Theory (Case Study: Girl Students in Mashhad) | |
CN109117427B (zh) | 一种客户端、服务器、检索方法及其系统 | |
CN111027308A (zh) | 文本生成方法、系统、移动终端及存储介质 | |
Zhou et al. | A semantic similarity retrieval model based on Lucene |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180605 |