关于搜索

2019-03-27 00:47|来源: 网路

关于搜索这块(非搜索引擎),了解不多,之前用过的也仅限于数据库查找,不能称之为搜索。近来工作需要,稍微接触了下,了解了些这方面的知识。
1、基于MemCache的搜索
    目前基于MemCache的搜索,在B/S系统中比较常用。尤其是很多电子商务类网站,对响应要求较高,多采用此方式。
    这其中的主要技术是MemCache。直白的说,就是将数据调用到内存中,然后从内存中读取,从而大大提高响应速度。
   目前工作中采用此方式,具体就是将数据库里的数据全部提取写入MemCache。然后操作MemCache,通过Linq进行整理后,进行相应的搜索查找。效果还是挺不错的。
2、Solr /Redis搜索
    关于Solr/Redis搜索,是公司的一个内部培训。简单了听了一下,没有做深入了解。
    Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。文档通过Http利用XML 加到一个搜索集合中。查询该集合也是通过http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,  Solr高亮显示搜索结果,通过索引复制来提高可用  Solr性,提供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等
    redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

转自:http://www.cnblogs.com/xpengfee/archive/2012/07/06/2579470

相关问答

更多

java怎么用api搜索方法

你用什么形式的api 我在chm格式的api帮助手册中搜索的时候 通常都是选择“搜索"选项卡 然后再”键入要查找的关键字“中输入方法名就OK了 最后搜索结果会告诉你哪些类有这个方法 然后你打开这个类 会发现 搜索的方法名都会是选中状态。。。 一个个去找啊 因为很多类的某个方法参数什么都完全相同 电脑也不知道你要哪个类 只能帮你把类列出来了!

lucene搜索问题

创建索引时,因为是TextField,所以会进行分词,IKAnalyzer把Yello你好会分成Yello和你好,所以你第一个termQuery搜索不到信息。改成new Term("content", "你好") 或new Term("content", "yello")就能搜索到了 StringField是不分词的

excel数字搜索的问题

ctrl+F 选项 中 查找范围 选 :值 ================================ 建议使用通配符 搜索 例如 08*.xls (意思是 以08开头的 xls类型文件 (excel档 一般后缀为xls)) 当然 也可以 ??08?.xls 或者*08*.xls

Xcode搜索历史(Xcode Search History)

文件搜索和项目搜索都有一个带有最近搜索的小向下箭头。 Both file search and project search has a small down arrow with recent searches.

在说明中搜索(Search in description)

正如您在源代码中看到的那样 - 您可以按产品说明进行搜索。 您需要的只是添加到请求参数filter_description As you can see in the source code - you can do search by product description. All that you need just add to request parameter filter_description