美文网首页
lucene入门基础2

lucene入门基础2

作者: jlnbda3488375 | 来源:发表于2018-02-17 20:09 被阅读3次
    • 【存储域选项】 Field.Store.Yes or NO 【存储域选项】
      设置为YES表示会将域中的内容完全存储到文件中,方便进行文本的还原;
      NO表示这个域的内容不存储在文件中,但是可以被索引,此时内容无法完全还原;

    • 【索引选项】Field.Index
      Index.ANALYZED:进行分词和索引,适用于标题、内容等;
      Index.NOT_ANALYZED:进行索引,但是不进行分词,适用于身份证号、姓名、ID等,适用于精确搜索;
      Index.ANALYZED_NOT_NORMS:进行分词,但是不存储norm信息,这个norm中包括了创建索引的时间和权值等信息;
      Index.NOT_ANALYZED_NOT_NORMS:既不进行分词也不存储norm信息;
      Index.NO:不进行索引

    • ANALYZED 分词; NORM 加权;(是否存储,是否分词,是否加权)

    • .fnm 保存的是域的信息(eg:filename、content等);
      .fdt .fdx 保存的是STORE为YES的数据;
      .frq 词条出现的频率;
      .nrm 存储评分信息;
      .tii .tis 存储的是索引中的内容信息;
      .del 删除的文档并不会被完全删除,而是被存储在回收站中;

    • 搜索的简单实现(TermQuery)
      (1)创建IndexReader;
      (2)创建IndexSearcher;
      (3)创建Term和TermQuery;
      (4)根据TermQuery获取TopDocs;
      (5)根据TopDocs获取ScoreDoc;
      (6)根据ScoreDoc获取对应文档;
      其他搜索(Query):
      (1)TermRangeQuery
      (2)NumericRange
      (3)PrefixQuery 前缀搜索
      (4)WildcardQuery 通配符查询
      (5)BooleanQuery 组合查询(可以连接过个条件)
      (6)PhraseQuery 短语索引
      (7)FuzzyQuery 模糊查询

    • 分词的过程
      Reader——(tokenier)——MMSeg——(filter)——Filter

    • 分词工具用过很多,比如jieba,mmseg,hanlp,ICTCLAS等等,分词算法也用过了很多从正向匹配,反向匹配,CRF,HMM,再到现在的BiLSTM+CRF。
      分词工具只是一个工具,强调分词效果的一定在做搜索,做数据分析反而对分词好坏优劣不太关注。现在DL模型的wordembeding可能不关注分词的p、r和f1,但是做搜索可能比较关注。CRF需要有标注、有预料。


      lucene 粗略地图

    相关文章

      网友评论

          本文标题:lucene入门基础2

          本文链接:https://www.haomeiwen.com/subject/czzmtftx.html