zoukankan      html  css  js  c++  java
  • EasyNet.Solr开发历程

    今天早上的时候,突然想写写自己开发EasyNet.Solr的历程。在期间遇到了很多问题,比如架构问题、性能问题等等。我很想和大家分享一下自己的一些想法,我觉得谈不上什么经验,有不当的地方,欢迎大家拍砖。

    记得当时我决定用Solr做公司的全文检索应用,Solr给我的最初感觉就是功能完善, 性能也满足目前需求。但是在选择.Net客户端时,我却有些为难。当时只有两种选择SolrSharp和Solr.Net。SolrSharp已经很久没有更新了,于是最终决定用Solr.Net。因为我喜欢简单(我喜欢简单,我是凡客),所以自己在Solr.Net进行了精简。记得正式上线的晚上,在线上测试时,发现Solr.Net有些性能问题,后来根据dump文件,主要是序列化导致的。于是当晚我把序列化修改为基于接口的实现。上线后,逐步对Solr.Net进行了进一步优化,把基于xml的协议修改为了基于json的协议,随后,又看了solrj的代码,最终修改为了了采用Solr官方推荐的 javabin协议。

    为了方便其他在windows平台使用Solr的同学们,在去年,我开源了自己改写的Solr.Net版本:EasyNet.Solr。在后继的日子,逐步修改了EasyNet.Solr的架构,使之更加精简,也易于扩展。目前在发布的版本中,基本上可以支持Solr的大部分功能。

    我有一个算是原则吧:我提供你我认为的最好的方式,但是,假如你不满意,你可以在此架构上去扩展去实现自己的想法。基于这个原则,EasyNet.Solr保持了默认的javabin协议、基于接口的序列化实现。但是,通过实现 ICodec、ICodecFactory,可以对xml、json等协议进行处理。通用解析接口ISolrResponseParser,提供了对Solr操作结果的完全控制。

    做一个开源项目很难,想做好更难。有时候,突然有一个新的想法,我可能会深夜起来去编码实现。让我比较开心的是,有一个同学在CodePlex上给EasyNet.Solr评了一个星。

    开始了就要尽可能坚持下去,尽可能去做好,做的更好。我很简单,我喜欢开源,我喜欢分享,我喜欢编码,我是凡客。

  • 相关阅读:
    SharePoint 2013 中的SQL Server 安全
    SharePoint 2013 的HTML5特性之响应式布局
    SharePoint 2013 一些小技巧
    SharePoint 2013 排错之"Code blocks are not allowed in this file"
    SharePoint 2013 创建搜索中心及搜索设置
    SharePoint 2013 使用PowerShell创建State Service
    SharePoint 2013 内容部署功能简介
    SharePoint 使用PowerShell恢复误删的网站集
    SharePoint 自定义WebPart之间的连接
    linux之misc及使用misc创建字符设备
  • 原文地址:https://www.cnblogs.com/TerryLiang/p/2031951.html
Copyright © 2011-2022 走看看