【技术实现步骤摘要】
一种搜索终端的控制方法与搜索终端
本申请涉及
,特别是涉及一种搜索终端的控制方法与搜索终端。
技术介绍
美国互联网数据中心指出,互联网上的数据每年将增长50%,每两年便将翻一番,而目前世界上90%以上的数据是最近几年才产生的。目前随着大数据的热潮冲击,用户对搜索数据的意愿越来越强烈,能够被搜索到的数据的数据规模也越来越大。传统的搜索引擎很难满足用户海量的数据搜索需求。常规的搜索方式一般包括标量搜索和向量搜索。标量是单指标,是一维向量,例如性别,年龄等。向量是多指标,具备多维度(维度大于等于1),例如多项式系数[w1,w2,...,wn]。标量搜索是基于单指标,单维度的搜索,向量搜索是多指标,多维度的搜索。目前,尚无能够同时支持标量搜索和向量搜索,且能满足海量数据搜索需求的搜索引擎。开源ElasticSearch不支持向量搜索,而开源Milvus仅为向量引擎,它们都不能同时满足标量和向量搜索需求
技术实现思路
基于此,有必要针对尚无能够同时支持标量搜索和向量搜索,且能满足海量数据搜索需求的搜索引擎的问题,提供一种搜索终端的控制方法与搜索终端。本申请提供一种搜索终端的控制方法,包括:实时监控客户端发送的向量写入请求,每当接收到客户端发送的向量写入请求时,依据客户端输入的待写入向量,基于开源的向量数据库,建立向量索引子文件存储入外部存储器,并基于所述向量索引子文件构建所述向量索引子文件映射的内存对象,将所述向量索引子文件映射的内存对象写入内部存储器;所述向量索引子文 ...
【技术保护点】
1.一种搜索终端的控制方法,其特征在于,所述方法包括:/nS100,实时监控客户端发送的向量写入请求,每当接收到客户端发送的向量写入请求时,依据客户端输入的待写入向量,基于开源的向量数据库,建立向量索引子文件存储入外部存储器,并基于所述向量索引子文件构建所述向量索引子文件映射的内存对象,将所述向量索引子文件映射的内存对象写入内部存储器;所述向量索引子文件映射的内存对象包括多个向量;/nS200,实时监控客户端发送的查询请求,每当接收到客户端发送的查询请求时,依据查询请求中附带的索引名和待查询向量,在内部存储器中搜寻与待查询向量最相似的K个向量输出;/nS300,实时监控外部存储器中每一个索引名下所有向量索引子文件的总体数据规模,若一个索引名下所有向量索引子文件的总体数据规模达到预设数据规模,则将该索引名下的所有向量索引子文件合并为一个向量索引文件,将外部存储器中该索引名下的所有向量索引子文件删除,将内部存储器中该索引名下的所有向量索引子文件各自映射的内存对象删除。/n
【技术特征摘要】
1.一种搜索终端的控制方法,其特征在于,所述方法包括:
S100,实时监控客户端发送的向量写入请求,每当接收到客户端发送的向量写入请求时,依据客户端输入的待写入向量,基于开源的向量数据库,建立向量索引子文件存储入外部存储器,并基于所述向量索引子文件构建所述向量索引子文件映射的内存对象,将所述向量索引子文件映射的内存对象写入内部存储器;所述向量索引子文件映射的内存对象包括多个向量;
S200,实时监控客户端发送的查询请求,每当接收到客户端发送的查询请求时,依据查询请求中附带的索引名和待查询向量,在内部存储器中搜寻与待查询向量最相似的K个向量输出;
S300,实时监控外部存储器中每一个索引名下所有向量索引子文件的总体数据规模,若一个索引名下所有向量索引子文件的总体数据规模达到预设数据规模,则将该索引名下的所有向量索引子文件合并为一个向量索引文件,将外部存储器中该索引名下的所有向量索引子文件删除,将内部存储器中该索引名下的所有向量索引子文件各自映射的内存对象删除。
2.根据权利要求1所述的搜索终端的控制方法,其特征在于,所述S100包括:
S111,实时监控客户端发送的向量写入请求;
S112,当接收到客户端发送的向量写入请求时,获取客户端输入的待写入向量;
S113,读取所述向量写入请求中的索引名,将所述待写入向量存储入所述索引名对应的内存缓存,返回所述S111。
3.根据权利要求2所述的搜索终端的控制方法,其特征在于,所述S100还包括:
S121,每隔预设时间段,判断每一个索引名对应的内存缓存中向量的数量是否小于第一数量阈值;
S122,若一个内存缓存中向量的数量大于或等于所述第一数量阈值,则基于FAISS数据库,在外部存储器中生成包含该内存缓存中所有向量的FAISS向量索引子文件;
S123,若一个内存缓存中向量的数量小于所述第一数量阈值,则基于nmslib数据库,在外部存储器中生成包含该内存缓存中所有向量的HNSW向量索引子文件;
S124,返回所述S121。
4.根据权利要求3所述的搜索终端的控制方法,其特征在于,所述S100还包括:
S130,基于外部存储器中生成的FAISS索引子文件或HNSW索引子文件构建所述FAISS索引子文件或HNSW索引子文件映射的内存对象,将所述FAISS索引子文件或HNSW索引子文件映射的内存对象写入内部存储器;外部存储器中的FAISS索引子文件或HNSW索引子文件仍然保留。
5.根据权利要求4所述的搜索终端的控制方法,其特征在于,所述S200包括:
S210,实时监控客户端发送的查询请求;
S220,当接收到客户端发送的查询请求时,读取所述查询请求中附带的索引名、命中向量目标数K和待查询向量;
S230,判断外部存储器中在所述索引名下的所有向量索引子文件映射的内存对象是否均写入了内部存储器;
S241,若外部存储器中在所述索引名下的所有向量索引子文件映射的内存对象均写入了内部存储器,则搜寻内部存储器中所述索引名下的所有向量索引子文件各自映射的内存对象,将内存对象的数量记为M;
S242,选取一个内存对象,获取所述内存对象包含的多个向量,记录向量的数量N;
S243,判断向量数量N是否大于命中向量目标数K;
S244,若向量数量N小于或等于命中向量目标数K,则生成该内存对象对应的相似向量集合,将N个向量置入该内存对象对应的相似向量集合;
S245,若向量数量N大于命中向量目标数K,则生成该内存对象对应的相似向量集合,从N个向量中选取与待查询向量最相似的K个向量置入该内存对象对应的相似向量集合;
S246,反复执行S242至S245...
【专利技术属性】
技术研发人员:陈力,仇应俊,
申请(专利权)人:新华智云科技有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。