应用阿里云搜索服务构建图书馆站内搜索引擎
发布时间:2022-01-07 19:58
利用云搜索服务已成为新的站内搜索技术方向。厦门大学图书馆采用阿里云服务重构站内搜索,将云搜索封装为独立的搜索引擎。网站数据经过预处理后提交、生成索引,传递搜索字符串到云搜索引擎即可使用云服务,实现搜索及结果呈现。评测结果表明,阿里云站内搜索与原有站内搜索相比,在检索效率和功能等多方面有显著提升。
【文章来源】:现代图书情报技术. 2013,(06)北大核心CSSCI
【文章页数】:5 页
【部分图文】:
图书馆网站数据提交到阿里云搜索服务器的过程
意义的HT-ML标记;去掉内容的制表符Tab,字符“\”转换成“/”等。3.2图书馆网站原始文档的提交图书馆网站数据提交到阿里云搜索服务器的过程如图1所示:图1图书馆网站数据提交到阿里云搜索服务器的过程3.3将阿里云搜索结果嵌入到图书馆系统厦门大学图书馆“站内搜索”的功能定位是整合馆内所有自建系统的数据,因此笔者将“阿里云搜索”封装为一个独立的仅提供搜索服务的小系统,实现搜索及搜索结果的呈现。其他系统只需要传递搜索字符串到该系统即可使用搜索服务,用户得到搜索结果后再引导到各个子系统,如图2所示:图2“阿里云搜索”封装后嵌入图书馆系统采用这种实现方式的优势在于各个子系统无需分别开发阿里云的调用模块,可以极大节省开发成本。具体实现要点如下:(1)接收参数,提交请求如提交的链接为:总第234期2013年第6期
胒acet需要返回的数据。根据字段定义,设定cat_id为执行facet的字段,并要求API返回每个cat_id分类的搜索结果统计信息:NameValueCollectionfacet=newNameValueCollection();//初始化facetfacet.Add(“facet_key”,“cat_id”);//定义执行facet的字段为cat_idfacet.Add(“facet_fun”,“sum(hit_num)#count()”);//要求API返回搜索结果中根据cat_id进行分类统计的个数通过上述设置,API返回的数据不仅包含基本的搜索结果,还包含facet相关数据。(3)呈现数据在搜索结果页面,数据呈现包含4个部分,具体布局如图3所示:图3厦门大学图书馆站内搜索结果页面布局①分类用户的二次搜索实质是进一步限定搜索范围。根据实现要点(2)解析得到的facet数据可将搜索结果的分类统计信息呈现出来,用户点击相应链接会触发程序在一次搜索的基础上传递一个附加的分类号作为过滤器,链接如下:http://x.x.x.x/aliyun/s.aspx?q=民国期刊&page=1&pageSize=10&c=5程序接收参数c作为过滤器:stringfilter=null;if(Request.QueryString["c"]!=null){cat=Request.QueryString["c"].ToString();filter="cat_id="+cat;}JObjectrs=sh.Search(q,page,pageSize,orderbyTime,filter);//在搜索中加入过滤器filter②排序搜索结果的排序采用两种方式,相关度及记录创建时间。阿里云默认的排序方式是相关度,采用相关度排序无需多余设置,而采用创建时间逆序则需要设置:string[]sort=newstring[]{“-create_timestamp”};//设置排序的字段为创建时间results=index.search(cq,page.ToString(),pageSize.ToString(),sort,filter,facet,null);//在搜索中加入sort排序③分页根据页面布局设计,分页部分只显示当前?
【参考文献】:
期刊论文
[1]基于云服务的图书馆建设与服务策略[J]. 孙坦,黄国彬. 图书馆建设. 2009(09)
[2]图书馆需要一朵怎样的“云”?[J]. 刘炜. 大学图书馆学报. 2009(04)
[3]基于通用搜索引擎实现站内搜索的二次开发[J]. 徐芳. 现代图书情报技术. 2009(05)
[4]基于Lucene的Web站点站内全文检索系统的设计与实现[J]. 曹强. 图书情报工作. 2007(09)
[5]高校图书馆Web站点站内搜索引擎的调研与建设[J]. 罗良道. 情报科学. 2002(09)
本文编号:3575174
【文章来源】:现代图书情报技术. 2013,(06)北大核心CSSCI
【文章页数】:5 页
【部分图文】:
图书馆网站数据提交到阿里云搜索服务器的过程
意义的HT-ML标记;去掉内容的制表符Tab,字符“\”转换成“/”等。3.2图书馆网站原始文档的提交图书馆网站数据提交到阿里云搜索服务器的过程如图1所示:图1图书馆网站数据提交到阿里云搜索服务器的过程3.3将阿里云搜索结果嵌入到图书馆系统厦门大学图书馆“站内搜索”的功能定位是整合馆内所有自建系统的数据,因此笔者将“阿里云搜索”封装为一个独立的仅提供搜索服务的小系统,实现搜索及搜索结果的呈现。其他系统只需要传递搜索字符串到该系统即可使用搜索服务,用户得到搜索结果后再引导到各个子系统,如图2所示:图2“阿里云搜索”封装后嵌入图书馆系统采用这种实现方式的优势在于各个子系统无需分别开发阿里云的调用模块,可以极大节省开发成本。具体实现要点如下:(1)接收参数,提交请求如提交的链接为:总第234期2013年第6期
胒acet需要返回的数据。根据字段定义,设定cat_id为执行facet的字段,并要求API返回每个cat_id分类的搜索结果统计信息:NameValueCollectionfacet=newNameValueCollection();//初始化facetfacet.Add(“facet_key”,“cat_id”);//定义执行facet的字段为cat_idfacet.Add(“facet_fun”,“sum(hit_num)#count()”);//要求API返回搜索结果中根据cat_id进行分类统计的个数通过上述设置,API返回的数据不仅包含基本的搜索结果,还包含facet相关数据。(3)呈现数据在搜索结果页面,数据呈现包含4个部分,具体布局如图3所示:图3厦门大学图书馆站内搜索结果页面布局①分类用户的二次搜索实质是进一步限定搜索范围。根据实现要点(2)解析得到的facet数据可将搜索结果的分类统计信息呈现出来,用户点击相应链接会触发程序在一次搜索的基础上传递一个附加的分类号作为过滤器,链接如下:http://x.x.x.x/aliyun/s.aspx?q=民国期刊&page=1&pageSize=10&c=5程序接收参数c作为过滤器:stringfilter=null;if(Request.QueryString["c"]!=null){cat=Request.QueryString["c"].ToString();filter="cat_id="+cat;}JObjectrs=sh.Search(q,page,pageSize,orderbyTime,filter);//在搜索中加入过滤器filter②排序搜索结果的排序采用两种方式,相关度及记录创建时间。阿里云默认的排序方式是相关度,采用相关度排序无需多余设置,而采用创建时间逆序则需要设置:string[]sort=newstring[]{“-create_timestamp”};//设置排序的字段为创建时间results=index.search(cq,page.ToString(),pageSize.ToString(),sort,filter,facet,null);//在搜索中加入sort排序③分页根据页面布局设计,分页部分只显示当前?
【参考文献】:
期刊论文
[1]基于云服务的图书馆建设与服务策略[J]. 孙坦,黄国彬. 图书馆建设. 2009(09)
[2]图书馆需要一朵怎样的“云”?[J]. 刘炜. 大学图书馆学报. 2009(04)
[3]基于通用搜索引擎实现站内搜索的二次开发[J]. 徐芳. 现代图书情报技术. 2009(05)
[4]基于Lucene的Web站点站内全文检索系统的设计与实现[J]. 曹强. 图书情报工作. 2007(09)
[5]高校图书馆Web站点站内搜索引擎的调研与建设[J]. 罗良道. 情报科学. 2002(09)
本文编号:3575174
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/3575174.html