购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 信息检索及其构建

用户可利用Head工具,通过HTTP传递参数的方式来构造一个简单的信息检索语句。图1.12展示了在指定的myfirstindex索引的share中,搜索字段为location且其值为Shanghai的检索请求的构建方式。在图右侧的Hits结果中可以看到返回的结果。其中,hits表示命中的检索集合,total表示命中1条记录,max_score是其评分。另外,在图中的URL构建查询语句时,_search表示搜索RESTful接口;q后代表查询条件;q后的=是基于Lucene语法的查询表达式;中文需要urlencode字符编码,特殊字符需要转义处理。

0028-01

图1.12 检索结果

Tips: 在基于Lucene的查询语法中,查询域Field指定从哪个域中寻找查询词;查询域和查询词之间用分号分隔(如title:“中国”);支持两种通配符?和*的查询;支持模糊查询。

总的来说,查询流程包括:

(1)构造查询条件——可以基于Lucene的查询语法进行构建,也可以基于Query DSL查询表达式进行构建。有关后一种方式的介绍参加见第2章中的说明。

(2)提交给Elasticsearch。

(3)返回Hits结果。

Tips: QueryDSL是用表达式的类似JSON的方式来描述查询语句,是一个通用的查询框架,可以通过一组通用的查询API为用户构建出适合不同类型ORM(Object Relational Mapping)框架或查询语句,Query DSL支持的平台包括Elasticsearch、SQL、RDF、Lucene等。ORM框架采用元数据来描述对象-关系映射细节,元数据一般采用XML格式,并且有的在专门对象-映射文件中。 cyDiP1R2E6SVMFnqfpmQL3QRL7NNGBbufLhi6oySouURJVI1VbgGl3+ap7KhNPD2

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开