高级查询功能
独立一阶段查询
通过在config中增加no_summary参数,用户可以选择是否只进行第一阶段查询,默认为no。当用户选yes后,查询在第一阶段结束后直接返回。
返回结果
结果中除了包含hit信息外,还有gid信息,pk信息(如果配了pk索引),attribute信息(如果第一阶段查询取了attribute)等。
其中
gid := 集群名称|索引全量版本|索引增量版本|hashId|docId|primaryKey的hash值|searcher的Ip
查询示例
config=no_summary:yes,start:0,hit:2&&cluster=daogou&&query=test&&attribute=attr1
结果示例
<Root>
<TotalTime>0.000</TotalTime>
<SortExprMeta><![CDATA[-RANK]]></SortExprMeta>
<hits numhits="1" totalhits="1" coveredPercent="100.00">
<hit cluster_name="daogou" hash_id="49152" docid="13988568" gid="daogou|1495852466|80|49152|13988568|00000000000000000000000000000000|201042447">
<fields>
</fields>
<property>
</property>
<attribute>
<att1>100</att1>
</attribute>
<sortExprValues>1</sortExprValues>
</hit>
</hits>
<AggregateResults>
</AggregateResults>
<Error>
<ErrorCode>0</ErrorCode>
<ErrorDescription></ErrorDescription>
</Error>
</Root>
独立二阶段查询
通过在查询语句中增加fetch_summary clause,用户可以只进行第二阶段查询,即获取summary。详细查询语法请参考fetch_summary子句。
并行查询
功能介绍
并行查询是基于图化架构对查询功能的扩展,将一次查询任务拆分给多个线程,来减少整体查询的延时。用户可以在query中指定并行查询的并发度。并行查询功能适用于容易发生seek timeout,导致召回结果不完全的搜索场景,例如:
存在较为复杂计算逻辑的业务,包括复杂的过滤、统计、算分。
计算存储分离集群,索引字典的lookup和倒排seek经常发生对远端存储的访问。
用法
确定searcher worker运行环境为多核多线程
Ha3官方提供2、4、8、16路并行查找功能
在启动参数中,描述ha3 worker需要加载几路并行(ha云上版本默认开启,用户不需要配置),格式如下--env paraSearchWays=2,4,8表示该worker支持2、4、8路并行,如果不指定该启动参数,worker会默认打开2、4路并行
在query中通过指定并行查询图所在的biz,实现对并行功能的访问,例如config=cluster:general.para_search_2, ...."para_search_2"表示该次查询使用2路并行
在query中通过指定并行查询图所在的biz,实现对并行功能的访问,例如config=cluster:daogou.para_search_2, ...."para_search_2"表示该次查询使用2路并行
指定partition查询
功能介绍
在对文档建索引的过程中,引擎会对文档中某个可配置字段的值进行Hash操作,根据得出的hash值(范围为[0 ~ 65535])将文档归类到不同的partition当中。 例如一篇描述商品的文档中,用户将“类型”字段配置为需要进行hash的字段,那么在索引过程中,引擎首先会得到该字段的值,如“女装”,再对“女装”进行hash操作,如hash后的值为8。 然后引擎会根据用户配置的partition个数将该篇文档分发到对应的partition中。结合上面的例子,“类型”这个字段即为引擎所指的hash_field,可在集群对应的配置文件 xxx_cluster.json中进行配置。“女装”即hash_field_value。
用户可以让查询语句只在某一个或多个partition中进行查询,引擎支持通过指定hash_field_value来查询对应的partition。
用法示例
在general集群的所有的partition中查询“大衣”
cluster=general&&query=大衣
在女装和配件所在的partition上查询“大衣”
cluster=general:hash_field=女装|配件&&query=大衣