Sql Azure不支持全文索引的,所以微软官方推荐的做法是基于lucene来做全文索引,而且也有一个基于Azure Storage的Lucene.Net开源组件,已经支持到了最新的lucene.net 3.0.3。可以在CodePlex上下载到最新代码“AzureDirectory Library for Lucene.Net” http://azuredirectory.codeplex.com/ ,也可以通过NuGet获取。

在使用过程中,发现检索速度的话,第一次很慢,因为它要把Storage的索引文件同步到本地缓存目录,后面就快了,都是从本地读取。这个机制有个很大的问题,就是如果索引文件大,对本地缓存目录空间大小有较高要求,否则就会出现磁盘空间不足导致的问题。

建索引的时候,配置好Storage Account和Catalog Name (其实就是Storage的Container),就会将索引文件同步到Storage。

在使用时建索引过程中,被坑过一次,最开始本地测试索引还是比较顺利,后来传到Azure上,开了个Worker Role,专门建索引,刚开始还好,但过了半天才发现压根就没索引上,索引文件没写入到Azure Storage,去看了一下文档,才发现它建索引实际上上是先建在本地,本地好了后,在indexWriter close的时候,就同步到Storage上去,它默认是本地的临时目录,如果基于WorkerRole,临时目录似乎不能太大,索引一会就出现说磁盘空间不足的异常。于是把缓存目录改成了Worker Role的本地目录,结果如何还需要观察。

另外它也建议不要去调用indexWriter的optimize()优化操作(Calling Optimize() is a really bad idea because it causes ALL SEGMENTS to be merged into ONE SEGMENT),因为这会将索引文件会合并成为一个很大的索引文件,而这样会导致整个索引文件都要重建,重新下载上传。

详细说明还是请参考其文档:http://azuredirectory.codeplex.com/

如果有兴趣体验,可以访问:http://www.openlab.co/search?q=%E8%A5%BF%E5%B7%A5%E5%A4%A7

目前已经将我自己的网站全部迁移到Azure: Web Role + Sql Azure + Azure Storage + Service Bus

后面会分享一些迁移过程中遇到的问题和心得。

转载于:https://www.cnblogs.com/dotey/archive/2013/05/31/3109905.html

AzureDirectory Library for Lucene.Net相关推荐

  1. 信息检索领域相关资料 (A Guide to Information Retrieval)

    信息检索领域相关资料 (A Guide to Information Retrieval) Organized by Hongfei Yan Last updated on July 27, 2007 ...

  2. Lucene.net: the main concepts

    2019独角兽企业重金招聘Python工程师标准>>> In the previous post you learnt how to get a copy of Lucene.net ...

  3. (转)全文检索技术学习(一)——Lucene的介绍

    http://blog.csdn.net/yerenyuan_pku/article/details/72582979 本文我将为大家讲解全文检索技术--Lucene,现在这个技术用到的比较多,我觉得 ...

  4. 全文搜索技术—Lucene

    1.   内容安排 实现一个文件的搜索功能,通过关键字搜索文件,凡是文件名或文件内容包括关键字的文件都需要找出来.还可以根据中文词语进程查询,并且支持多种条件查询. 本案例中的原始内容就是磁盘上的文件 ...

  5. lucene.net 应用资料

    本文介绍了什么是Lucene,Lucene能做什么. 如何从一个文件夹下的所有txt文件中查找特定的词? 本文将围绕该个实例介绍了lucene.net的索引的建立以及如何针对索引进行搜索.最后还将给出 ...

  6. lucene源码分析(1)基本要素

    1.源码包 core: Lucene core library analyzers-common: Analyzers for indexing content in different langua ...

  7. lucene教程--全文检索技术详解

    一 什么是全文检索 1.1 全文检索概念 全文检索是一种将文件中所有文本与检索项匹配的检索方法.它可以根据需要获得全文中有关章.节.段.句.词等信息.计算机程序通过扫描文章中的每一个词,对每一个词建立 ...

  8. php lucene索引,用PHP调用Lucene包来实现全文检索_PHP教程

    由于工作需要,需要使用PHP实现对网站内大量数量进行全文检索, 而且目前最流行的全文检索的搜索引擎库就是Lucene了, 它是Apache Jakarta的一个子项目,并且提供了简单实用的API, 用 ...

  9. Lucene实现全文检索的流程

    索引和搜索流程图 1.绿色表示索引过程,对要搜索的原始内容进行索引构建一个索引库,索引过程包括: 确定原始内容即要搜索的内容采集文档创建文档分析文档索引文档 2.红色表示搜索过程,从索引库中搜索内容, ...

最新文章

  1. Ultimate SLAM:结合事件、图像和惯性测量单元,在HDR和高速场景下实现鲁棒的视觉SLAM...
  2. 服务器无响应 错误691,错误 691:由于域上的用户名和/密码无效而拒绝访问的原因及解决办法...
  3. css笔记 - transform学习笔记(二)
  4. 【计算机视觉】究竟谁能解决可解释性 AI?
  5. 【Blog.Core开源】网关自定义认证鉴权与传参
  6. tushare 安装
  7. android jni java call c字符串乱码,JNI系列入门之C语言中文字符串乱码问题
  8. NLP标注神器:可同时对文本类型与实体类型进行标注(动图演示)
  9. 群体智能优化算法之狩猎搜索(Hunting Search,Hus)
  10. 一般处理程序里使用session对象为null,未将对象引用到实例化
  11. java数字转换金额大写——中文金额大写
  12. 应用泛函分析—线性空间
  13. JAVA操作Word合并、替换占位符、Word插入富文本、生成水印
  14. 使用腾讯云轻量应用服务器搭建网络质量拨测工具 SmokePing
  15. 数据结构入门:栈的实现(后进先出的原则)
  16. 跑过的城市,走过的路
  17. 世界上这五类人永远不可能成为编程界牛人
  18. 存储器块清零c语言版,存储器块清零实验
  19. 数据结构例1.已知顺序表L的长度为n,试编写算法实现在顺序表中删除值为elem的数据元素
  20. .com域名要涨价了

热门文章

  1. Spring学习笔记(二)——Spring相关配置属性注入Junit整合
  2. 洛谷P4609 [FJOI2016]建筑师 【第一类斯特林数】
  3. awakeFromNib方法和viewDidLoad方法区别
  4. BroadcastReceiver 启动activity(在activity之外启动一个activity)
  5. 深入理解WMS(四):从WMS的角度分析Activity之间的关系
  6. Ubuntu磁盘分区以及双系统启动顺序修改
  7. 解决Android中多次点击启动多个相同界面的问题
  8. jquery mobile实例
  9. jquery很好的学习网站
  10. oauth2 增加token 返回参数_RingCentral Tech | OAuth2.0面面观