lucene总结——(十七)

(01)rownum和rowid有何区别?
      rownum在表结构中是看不见的,只能在select中明确写出rownum方可显示
      rownum与不同的表绑定在一起,每张表都有自已的rownum,每张表的rownum可以相同,表亡rownum亡
      rownum可用于oracle分页中
      rownum是从1开始的连续不断的数值型
      
      rowid在表结构中是看不见的,只能在select中明确写出rowid方可显示
      rowid在每张表中都不一样,表亡rowid亡,它是沟通表与DBF文件的桥梁
      rowid可用于索引中

(02)IndexWriter和IndexSearcher有何作用?
      IndexWriter将Document对象写入到索引库中,适用于增删改操作
      IndexSearcher根据关键字去索引库中查询符合条件的数据,只适用于查询操作

(03)Directory directory = FSDirectory.open(new File("E:/LuceneDBDBDBDBDBDBDBDBDB"));这句话什么意思?
      索引库对应的硬盘上的目录,如果无则创建;返之不创建

(04)document.add(new Field("content",article.getContent(),Store.YES,Index.ANALYZED));这句话什么意思?
      将content字段和其对应的值,放入到索引库的原始表中,且该字段的值需要进行分词

(05)TopDocs topDocs = indexSearcher.search(query,10);这句话什么意思?
      去索引库中查询符合条件的数据,超过10条数据,只取前10条;不足10条,以实际为准

(06)谈谈索引库优化有哪几个方面
      >>文件数量问题
      >>文件大数问题
      >>写入索引库速度问题

(07)分词器有什么作用
      用户不可能完全记住所有文章的内容,可能只能记住该文章中的某些关键字,
      那么做为搜索功能的程序来讲,就需要用关键字去最大限度搜索到用户需要的
      内部,分词器就在中间起了一个桥梁作用

(08)document.get("content")和document.getField("content")有什么区别?
      get()获取document对象中content字段的值,返回值是String类型
      getField("content")获取document对象中content字段,返回值是Field类型
      
(09)在默认情况下,搜索结果是如何排序的?如果有二个结果相同,又是如何排序的?
      在默认情况下,按得分度的高低排序,如果相同得份,按你插入索引库的先后排序

(10)QueryParser queryParser =
          new QueryParser(LuceneUtil.getVersion(),"content",LuceneUtil.getAnalyzer());
      QueryParser queryParser =
          new MultiFieldQueryParser(LuceneUtil.getVersion(),new String[]                        {"content","title"},LuceneUtil.getAnalyzer());
      有什么区别?
      第一个API表示单字段搜索
      第二个API表示多字段搜索
 
 
































posted @   QiaoZhi  阅读(205)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示