索引中文档的属性建立与不建立带来的影响总结
 
1.依据文档的某属性去查找索引的话,只会返回带有此属性(如果你对当前属性设定了条件,那么需要满足当前条件)的所有文档,没有建立此属性的文档是不会在返回结果文档中的,不管你的属性值类型是什么(string、date、long、int),结果都是一样的
2.查找条件满足,排序不会有任何影响(如果排序的属性文档没有,lucene会按文档建立的先后顺序返回且只会按照这个顺序),只需注意说的第一点
3.索引查找也不会有任何影响,只需注意说的第一点
4.数量查找条件如果满足,绝对正确,但如果是说的第一点的话,那就有问题了
5.如果做数据统一整合的话,建议没有属性的填默认属性,牺牲点微小的存储空间换来正确的查找结果
 
 
理论看不懂?举个例子你就懂了
 
需求:
建立3条数据的索引,每条数据包含weibotime(date)、forwardtims(long)、replytimes(int)等属性
 
数据建立索引后,变成3个文档:文档A、文档B、文档C
          weibotime(date)、forwardtims(long)、replytimes(int)
文档A:     有                          有                         有
文档B:     无                          无                         有
文档C:     无                          无                         有
 
 
操作:
     Q:查找weibotime并且降序排列
     A:返回有weibotime属性的文档,并且结果顺序是降序的,显示当前索引里只有文档A
 
     Q:查找replytimes,weibotime降序排列
     A:返回当前3文档,并且结果顺序显示是:文档A、文档B、文档C
     Q:查找replytimes,weibotime升序排列
     A:返回当前3文档,并且结果顺序显示是:文档B、文档C、文档A,看到这里你可能会觉得奇怪,文档B、C不都没有属性和值吗,为什么B一定排在C前面?这是lucene实现的,查找的属性有,但操作的属性如排序操作weibotime属性,但两个文档的属性是没有的,那么文档会按建立的先后顺序返回,不管你是升序或者是降序,结果都是一样的

最新文章

  1. MySql LAST_INSERT_ID 【插入多条数据时】
  2. BZOJ 4544: 椭圆上的整点
  3. Configuring Locales
  4. Java 基本数据类型 sizeof 功能【转】
  5. MPMoviePlayerController 视频播放器—IOS开发
  6. 55人班37人进清华北大的金牌教师之32条教育建言! z
  7. 《编程导论(Java)·2.1.3改写(override)》
  8. AOP in dotnet :AspectCore的参数拦截支持
  9. 【memcache】windos下 memcache更改默认的端口和最大使用内存
  10. 使用AltSearch格式化Kindle读书笔记
  11. SystemUI中设置横竖屏显示
  12. BP神经网络算法推导及代码实现笔记zz
  13. hello1以及hello2的部分代码分析
  14. TDateTimePicker 选择最小日期时异常处理
  15. apt-get 使用指南
  16. 在CentOS上编译安装MySQL 5.7.13步骤详解
  17. Permission Policies
  18. 基于html5的多图片上传,预览
  19. 关于Cocos2d-x中数组的使用
  20. 使用二叉搜索树实现一个简单的Map

热门文章

  1. 备份文件的python脚本(转)
  2. ACM数论-欧几里得与拓展欧几里得算法
  3. C - 你经历过绝望吗?两次! 【地图型BFS+优先队列(障碍物)】
  4. java中的控制语句
  5. [AGC012D]Colorful Balls
  6. angularjs+requirejs整合
  7. 爬取维基百科人物介绍,并使用pymysql存储到数据库
  8. 如何提高码农产量,基于ASP.NET MVC的敏捷开发框架之工作流开发随笔三
  9. spring MVC中获取request和response:
  10. 【mybatis】 mybatis在mysql 更新update 操作 更新时间字段按照年月日时分秒格式 更新为当前时间