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. python中float与eval式一样的吗_用Python最原始的函数模拟eval函数的浮点数运算功能...
  2. Android之PullToRefresh控件源码解析
  3. 据说电脑上可以刷朋友圈啦!又多了个上班摸鱼的途径?
  4. js修改背景图片路径_前端面试题————关键渲染路径(Critical Rendering Path)...
  5. 设置DefaultHttpClient和HttpClient的超时时间的方法
  6. 递归处理vue菜单数据
  7. Android工程重新编译问题
  8. Unity API学习笔记(2)-GameObject的3种Message消息方法
  9. Voxengo音频插件合集:Voxengo Total Bundle Mac
  10. php滑动门效果,基于JavaScript实现滑动门效果的代码实例介绍(图文)
  11. mysql链接is not allow_解决Mysql远程连接出错不允许访问 ERROR 1130:Host is not allow...
  12. 兼容安卓和苹果的滚动
  13. namecheap如何解析域名
  14. Zynga发布魔法三消手游《Harry Potter: Puzzles Spells》
  15. krita 填充图层
  16. 微信php开发 抽奖,微信(weixin)大转盘抽奖页面、数据库以及抽奖算法(PHP源码......
  17. Office文档在线编辑和预览服务搭建
  18. vue3开发1:在vue3项目中集成ckeditor5编辑器,自定义图片上传,图片编辑排坑(一)
  19. mysql备份报错1356,解决mysqldump备份报错: Couldn't execute 'SHOW FIELDS FROM Unknown error 1356...
  20. xss漏洞-DVWA跨站攻击盗取用户cookie值

热门文章

  1. [转]pthread用于进程间通信
  2. iis 程序池设置及详解-20180720
  3. TableView的重要性
  4. base64加密解密实现方法
  5. 四、管理网站(一) Using the command line interface
  6. AMS重要的数据结构解析(三):ActivityStack
  7. 业绩-----我觉得最难得不是写代码,而是写业绩表
  8. Java 垃圾回收机 GC Roots详解(Garbage Collection Roots)
  9. 编写你的第一个 Flutter App
  10. php如何实现区分编辑,php实现编辑和保存文件的方法