CN103177038A - 一种垂直搜索引擎中的查询表达式 - Google Patents
一种垂直搜索引擎中的查询表达式 Download PDFInfo
- Publication number
- CN103177038A CN103177038A CN201110440804XA CN201110440804A CN103177038A CN 103177038 A CN103177038 A CN 103177038A CN 201110440804X A CN201110440804X A CN 201110440804XA CN 201110440804 A CN201110440804 A CN 201110440804A CN 103177038 A CN103177038 A CN 103177038A
- Authority
- CN
- China
- Prior art keywords
- expression
- expression formula
- user
- query
- search engine
- 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
本发明垂直搜索引擎中的查询表达式,其方法包括:用户在UI中根据操作按钮完成表达式的建立,表达式设计器会根据用户的输入将表达式转换成中缀描述展现给用户,表达式设计器会将用户的输入将表达式转换成后缀(前缀)传递到后台服务,后台服务获得这个后缀(前缀)表达式后根据解析表达式还原为查询描述符,后台根据对象描述提供ToQuery方法,将查询描述符转换成搜索引擎可识别的查询,根据需要这个可识别的查询可能需要持久化或者直接传递给搜索引擎进行搜索。
Description
技术领域
本发明涉及互联网搜索引擎技术,尤其是一种垂直搜索引擎中的查询表达式。
背景技术
随着互联网技术的不断发展和应用,网络信息已经进入千家万户。然而在互联网络上,信息爆炸式地增加与传递,在数以亿万计的信息中,用户获得符合自己使用目的的可用信息的难度也大大增加。伴随着用户的需要,搜索引擎技术发展起来,主要有通用搜索引擎和垂直搜索引擎两种。
通用搜索引擎将大量的信息整合导航,极快的速度,将所有网站上的信息整理在一个平台上供用户使用。但是它存在着信息量大、查询不准确、深度不够等问题。
垂直搜索是针对某一个行业提出来的新的搜索引擎服务模式,通过针对某一特定领域、某一特定人群或某一特定需求提供的有一定价值的信息和相关服务。其特点就是“专、精、深”,且具有行业色彩,相比较通用搜索引擎的海量信息无序化,垂直搜索引擎则显得更加专注、具体和深入。
在垂直搜索领域中,用户需要的是精准的数据,可能需要复杂的逻辑关系才能从海量数据中获得有价值的信息,查询条件就是连接用户与垂直搜索引擎的中介。但是,让普通用户手工书写查询条件是不可能的,必须是具有专业素质的人才能写出来。
因此,互联网供应商提供了一种工具——查询表达式。查询表达式是为了 突出查询信息专、精、深而使用的一种查询条件构建工具,能够为用户提供良好的输入界面并且协助用户完成复杂查询条件的创建,并将易读的查询表达式转换成后台搜索引擎可识别的查询语句。
现有技术中的查询表达式,用中缀表达式描述逻辑关系,使用括号来区别优先级、以及查询集合与查询子集之间的逻辑关系,这种关系最终转换成为无括号描述的有自身描述优先级关系的后缀表达式。中缀表达式的树状组织,将中缀表达式进行树状展现,并提供用户来增加或者删除树中的各个节点以描述逻辑关系和集合关系。
目前,通用的查询设计器主要有google的高级查询设计器和baidu的高级查询设计器。其方法为:提供四个输入框,分别为包含以下全部关键字、包含以下完整关键字、包含以下任意关键字、不包含以下关键字。四个条件组合逻辑关系不清楚,而且查询条件组合简单,无法满足更复杂的查询条件设计。
发明内容
有鉴于此,本发明的主要目的在于提供一种垂直搜索查询表达式设计器,可以帮助用户构建清晰逻辑关系的查询条件,而且操作简单、方便。
垂直搜索引擎不同于现在市面上大多数的水平搜索引擎,垂直搜索引擎的关注点在数据的精确性上,水平搜索引擎则将重点放在数据的全面性。由于用户对表达式的具体形态和内容并不关心,作为垂直搜索引擎的开发人员,需要提供一种不同于水平搜索引擎的查询表达式设计器,使用户不需要学习复杂的查询语法就能设计出符合需求的查询条件。
为达到上述目的,本发明采用树形表达式设计器,其思路来源于中缀表达式的数据结构,操作符作为节点,条件作为叶子节点来展示整个表达式的逻辑关系,又因为是树状展示,逻辑关系一目了然。当用户在树形表达式设计器上 设计好逻辑关系后,表达式设计器会将这棵树的逻辑关系表示成一个中缀表达式提供给用户阅读,并且转换成后缀表达式(或者前缀表达式)提供给后台存储,后台会解析后缀表达式(或者前缀表达式)来还原用户的逻辑关系,并将这个逻辑关系转换成搜索引擎可以识别的查询语句。表达式优先级括号在树型表达式设计器上会根据用户添加条件和子条件来自动为用户添加括号,方便用户识别子条件,以及子条件和条件之间的关系。
由于从数据结构上来说是递归描述的,那么在展现时,理论上条件的长度和组合复杂度是没有限制的。用户可以组合出来非常复杂的逻辑关系,而不必关心这些关系最终生成了什么样的搜索引擎查询条件。
本发明的技术方案是这样实现的:
A、用户在UI中根据操作按钮完成表达式的建立;
B、表达式设计器会根据用户的输入将表达式转换成中缀描述展现给用户;
C、表达式设计器会将用户的输入将表达式转换成后缀(前缀)传递到后台服务;
D、后台服务获得这个后缀(前缀)表达式后根据解析表达式还原为查询描述符;
E、后台根据对象描述提供ToQuery方法,将查询描述符转换成搜索引擎可识别的查询;
F、根据需要这个可识别的查询可能需要持久化或者直接传递给搜索引擎进行搜索。
进一步地,步骤A中所述细化为:
A1空表达式,表达式设计器在未输入任何内容时,只显示一个逻辑关系选择框和两个添加条件的按钮(条件/子条件);
A2用户可以通过点击添加条件按钮来为表达式添加一个条件,条件key为搜索引擎元数据中定义的可用来查询的作用域,条件逻辑关系则为定义为抽象运算关系(operation),抽象逻辑运算关系(接口)由具体的实现完成,目前该技术在XunKu产品中使用的是逻辑关系(等于/不等于/包含/不包含),目前该技术在Xunku后台的信息源管理中也有应用,在后台应用中抽象逻辑关系实现为(等于/正则验证/包含/结尾为)条件值则为用户关心的数据;
A3添加完成一个条件之后,用户可以添加新的条件,并且选择两个条件之间的关系(或者/与),同时为了满足深度搜索的要求,该技术提供子表达式,即表达式的嵌套,子表达式逻辑上和表达式是一样的,只是在关系上不同。
进一步地,步骤B,表达式设计器会根据用户的输入将表达式转换成中缀描述展现给用户。
进一步地,步骤B中所述细化为:
B1首先前台(目前Xunku用js已经实现的表达式转义),将查询表达式描述的查询,按照表达式控件所描述的关系序列化成字符串;
B2该字符串将由网络传送回服务器,目前Xunku使用的是js提交数据的形式来将较长的字符串发回服务器;
B3为了减少网络流量表达式字符串在客户观被压缩,移除表达式中不需要的字符(便于阅读的字符),同时将表达式转换成前缀表达式以去掉括号占用的字符,此字符串准备发回服务器;
B4同时为了让用户看得更清楚,查询表达式会将用户的输入转换成一个中缀表达式,并且将唯一标示替换为用户可阅读的字符串呈现给用户,字符串类似于“标题中包含昆山并且内容中包括讯库”。
进一步地,步骤C,表达式设计器会将用户输入的表达式转换成后缀(前缀)传递到后台服务;步骤D,后台服务获得这个后缀(前缀)表达式后,根据解析表达式还原为查询描述符。
进一步地,步骤E,后台根据对象描述提供ToQuery方法,将查询描述符转换成搜索引擎可识别的查询:
E1查询描述符解释器将查询描述符解释成搜索引擎可识别的查询字符串;
E2查询表达式到此工作结束。
进一步地,步骤F,根据需要这个可识别的查询可能需要持久化或者直接传递给搜索引擎进行搜索。
表达式优先级括号在树型表达式设计器上会根据用户添加条件和子条件来自动为用户添加括号,方便用户识别子条件,以及子条件和条件之间的关系。
由于从数据结构上来说是递归描述的,那么在展现时,理论上条件的长度和组合复杂度是没有限制的。用户可以组合出来非常复杂的逻辑关系,而不必关心这些关系最终生成了什么样的搜索引擎查询条件。
具体实施方式
本发明采用树形表达式设计器,其思路来源于中缀表达式的数据结构,操作符作为节点,条件作为叶子节点来展示整个表达式的逻辑关系,又因为是树状展示,逻辑关系一目了然。当用户在树形表达式设计器上设计好逻辑关系后,表达式设计器会将这棵树的逻辑关系表示成一个中缀表达式提供给用户阅读,并且转换成后缀表达式(或者前缀表达式)提供给后台存储,后台会解析后缀表达式(或者前缀表达式)来还原用户的逻辑关系,并将这个逻辑关系转换成搜索引擎可以识别的查询语句。
本发明的技术方案是通过以下步骤实现的:用户在UI中根据操作按钮完成表达式的建立,表达式设计器会根据用户的输入将表达式转换成中缀描述展现给用户,表达式设计器会将用户的输入将表达式转换成后缀(前缀)传递到后台服务,后台服务获得这个后缀(前缀)表达式后根据解析表达式还原为查询描述符,后台根据对象描述提供ToQuery方法,将查询描述符转换成搜索引擎可识别的查询,根据需要这个可识别的查询可能需要持久化或者直接传递给搜索引擎进行搜索。
附图说明
图1是本发明的表达式初始化
用户可以通过点击“+”添加表达式算子,或者点击“+[]”添加子表达式,如果只有一个条件,则逻辑条件OR/AND的选择不会影响结果。
图2是本发明的一个A&B&(C|D)的查询表达式的编辑关系
图3是本发明三个表达式算子
此时A,B,C,D条件为空,用户可以通过点击它们来完成添加表达式算子,在本例中算子操作为一个新UI来完成算子的编辑和选择功能这三个表达式算子,均为正则包含,从例子中可以看出还有(包含,等于,结尾三种判定)。
1、表达式描述
查询表达式最终将A&B&(C|D)保存到服务器。
2、表达式计算
首先将A&B&(C|D)通过解析器将其翻译成后缀表达式:AB&CD|&;
然后将这个后缀表达式送到表达式计算器中计算(表达式计算器为一个栈实现);
最后得到结果Ture或者False,在Xunku的应用中不仅是返回Ture或者False,还多了一步将后缀表达式解析为搜索引擎的查询字符串(增加了一个解析器),最后返回结果由搜索引擎提供。
Claims (9)
1.一种垂直搜索查询表达式,其特征在于,该方法包括以下步骤:
A、用户在UI中根据操作按钮完成表达式的建立;
B、表达式设计器会根据用户的输入将表达式转换成中缀描述展现给用户;
C、表达式设计器会将用户的输入将表达式转换成后缀(前缀)传递到后台服务;
D、后台服务获得这个后缀(前缀)表达式后根据解析表达式还原为查询描述符;
E、后台根据对象描述提供ToQuery方法,将查询描述符转换成搜索引擎可识别的查询;
F、根据需要这个可识别的查询可能需要持久化或者直接传递给搜索引擎进行搜索。
2.根据权利要求1所述的方法,其特征在于,所述表达式设计器采用树形表达式设计器,以操作符作为节点,条件作为叶子节点来展示整个表达式的逻辑关系。
3.根据权利要求2所述的方法,其特征在于,条件key为搜索引擎元数据中定义的可用来查询的作用域,条件逻辑关系则定义为抽象运算关系(operation),抽象逻辑运算关系(接口)由具体的实现完成。
4.根据权利要求2所述的方法,其特征在于,该表达式设计器提供子表达式,即表达式的嵌套。
5.根据权利要求1所述的方法,其特征在于,所述表达式设计器采用表达式优先级括号,根据用户添加条件和子条件来自动为用户添加括号,来识别子条件,以及子条件和条件之间的关系。
6.根据权利要求5所述的方法,其特征在于,将查询表达式描述的查询,按照表达式控件所描述的关系序列化成字符串。
7.根据权利要求6所述的方法,其特征在于,移除表达式中不需要的字符(便于阅读的字符),同时将表达式转换成前缀表达式以去掉括号占用的字符,此字符串准备发回服务器。
8.根据权利要求7所述的方法,其特征在于,查询表达式将用户的输入转换成一个中缀表达式,并且将唯一标示替换为用户可阅读的字符串呈现给用户。
9.根据权利要求3~8所述的方法,其特征在于,查询描述符解释器将查询描述符解释成搜索引擎可识别的查询字符串。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110440804XA CN103177038A (zh) | 2011-12-26 | 2011-12-26 | 一种垂直搜索引擎中的查询表达式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110440804XA CN103177038A (zh) | 2011-12-26 | 2011-12-26 | 一种垂直搜索引擎中的查询表达式 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103177038A true CN103177038A (zh) | 2013-06-26 |
Family
ID=48636919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110440804XA Pending CN103177038A (zh) | 2011-12-26 | 2011-12-26 | 一种垂直搜索引擎中的查询表达式 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103177038A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440331A (zh) * | 2013-09-05 | 2013-12-11 | 五八同城信息技术有限公司 | 基于逆波兰和多叉树的搜索引擎查询语句解析方法 |
CN104252509A (zh) * | 2013-11-05 | 2014-12-31 | 深圳市华傲数据技术有限公司 | 一种表达式执行方法和装置 |
CN105184473A (zh) * | 2015-08-28 | 2015-12-23 | 国家电网公司 | 一种基于稳定规程的电网运行风险监视方法 |
CN113568365A (zh) * | 2021-09-22 | 2021-10-29 | 蘑菇物联技术(深圳)有限公司 | 控制工业控制器的方法、计算设备和计算机存储介质 |
CN113609821A (zh) * | 2021-06-30 | 2021-11-05 | 北京新氧科技有限公司 | 一种正则表达式转换方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904884A (zh) * | 2005-07-29 | 2007-01-31 | 株式会社理光 | 用于异构媒体的图形化查询构建器及其方法 |
CN101013424A (zh) * | 2005-12-27 | 2007-08-08 | 国际商业机器公司 | 执行关系数据库搜索的系统和方法 |
US7333999B1 (en) * | 2003-10-30 | 2008-02-19 | Arcsight, Inc. | Expression editor |
CN101887464A (zh) * | 2010-07-23 | 2010-11-17 | 北京数码大方科技有限公司 | 显示数据库中的数据的方法、装置 |
CN101950294A (zh) * | 2010-08-16 | 2011-01-19 | 无锡市浏立方科技有限公司 | 一种用于语义数据模型的描述性查询语言 |
-
2011
- 2011-12-26 CN CN201110440804XA patent/CN103177038A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7333999B1 (en) * | 2003-10-30 | 2008-02-19 | Arcsight, Inc. | Expression editor |
CN1904884A (zh) * | 2005-07-29 | 2007-01-31 | 株式会社理光 | 用于异构媒体的图形化查询构建器及其方法 |
CN101013424A (zh) * | 2005-12-27 | 2007-08-08 | 国际商业机器公司 | 执行关系数据库搜索的系统和方法 |
CN101887464A (zh) * | 2010-07-23 | 2010-11-17 | 北京数码大方科技有限公司 | 显示数据库中的数据的方法、装置 |
CN101950294A (zh) * | 2010-08-16 | 2011-01-19 | 无锡市浏立方科技有限公司 | 一种用于语义数据模型的描述性查询语言 |
Non-Patent Citations (2)
Title |
---|
吕建华等: "XML数据的路径表达式查询优化技术", 《软件学报》 * |
金洪伟等: "查询表达式优化的研究与实现", 《计算机应用与软件》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440331A (zh) * | 2013-09-05 | 2013-12-11 | 五八同城信息技术有限公司 | 基于逆波兰和多叉树的搜索引擎查询语句解析方法 |
CN103440331B (zh) * | 2013-09-05 | 2017-02-08 | 五八同城信息技术有限公司 | 基于逆波兰和多叉树的搜索引擎查询语句解析方法 |
CN104252509A (zh) * | 2013-11-05 | 2014-12-31 | 深圳市华傲数据技术有限公司 | 一种表达式执行方法和装置 |
CN105184473A (zh) * | 2015-08-28 | 2015-12-23 | 国家电网公司 | 一种基于稳定规程的电网运行风险监视方法 |
CN113609821A (zh) * | 2021-06-30 | 2021-11-05 | 北京新氧科技有限公司 | 一种正则表达式转换方法、装置、设备及存储介质 |
CN113609821B (zh) * | 2021-06-30 | 2023-07-18 | 北京新氧科技有限公司 | 一种正则表达式转换方法、装置、设备及存储介质 |
CN113568365A (zh) * | 2021-09-22 | 2021-10-29 | 蘑菇物联技术(深圳)有限公司 | 控制工业控制器的方法、计算设备和计算机存储介质 |
CN113568365B (zh) * | 2021-09-22 | 2022-07-05 | 蘑菇物联技术(深圳)有限公司 | 控制工业控制器的方法、计算设备和计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11907244B2 (en) | Modifying field definitions to include post-processing instructions | |
KR102591421B1 (ko) | 의도 추천 방법, 장치, 기기 및 저장매체 | |
CN109857917B (zh) | 面向威胁情报的安全知识图谱构建方法及系统 | |
US11645471B1 (en) | Determining a relationship recommendation for a natural language request | |
Li et al. | A novel approach for API recommendation in mashup development | |
CN102479252B (zh) | 查询语句转换装置及查询语句转换方法 | |
US10185762B2 (en) | Predictive algorithm for search box auto-complete | |
CN101452453B (zh) | 一种输入法网址导航的方法和一种输入法系统 | |
EP2881868B1 (en) | Search interface | |
JP7369740B2 (ja) | 検索語の推薦方法と装置、目的モデルの訓練方法と装置、電子デバイス、記憶媒体、及びプログラム | |
CN102467541B (zh) | 一种情境搜索方法及系统 | |
CN102053983B (zh) | 一种垂直搜索的查询方法、系统和装置 | |
CN104572970A (zh) | 一种基于本体库内容的sparql查询语句生成系统 | |
US20090292681A1 (en) | Presentation of an extracted artifact based on an indexing technique | |
US8572064B2 (en) | Visualization technique for biological information | |
CN110909170B (zh) | 兴趣点知识图谱构建方法、装置、电子设备及存储介质 | |
CN102368262A (zh) | 一种提供与查询序列相对应的搜索建议的方法与设备 | |
CN104657440A (zh) | 结构化查询语句生成系统及方法 | |
CN101794307A (zh) | 基于互联网分词思想的车载导航poi搜索引擎 | |
US20090083266A1 (en) | Techniques for tokenizing urls | |
CN103177038A (zh) | 一种垂直搜索引擎中的查询表达式 | |
KR102656114B1 (ko) | 멀티미디어 콘텐츠 검색 방법, 장치, 기기 및 저장 매체 | |
JP2022530690A (ja) | クエリ自動補完の方法、装置、機器、及びコンピュータ記憶媒体 | |
JP5221664B2 (ja) | 情報マップ管理システムおよび情報マップ管理方法 | |
WO2023164294A1 (en) | Query splitter for an inverted index datastore |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130626 |
|
RJ01 | Rejection of invention patent application after publication |