zoukankan      html  css  js  c++  java
  • Lucene 常用名词解析

    索引的创建:
    IndexWriter: 用于创建索引
    Directory: 这个可以用来定义我们的索引是存放在内存中还是在硬盘上
    Analyzer: 分词器 有几种()
    这个地方需要好好解释下
    Document: 存放索引的文档信息,一个Document有多个Field
    Field: 域名

    索引的搜索过程:
    IndexReader: 找到索引
    IndexSearcher: 获取索引
    Term: 检索过程中的最小单元,可以指定某个域为某个值
    Query: 主要用来进行查询 (TermQuery(子类)
    TopDocs: 用于返回索引的文本信息
    ScoreDoc: 所有的文本信息(上面的TopDocs数组)都可以转换文档(通过get方法获取域的存储信息)

    queryparser :使用queryparser完成解析搜索请求
    基本格式: QueryParser parser=new QueryParser(版本号,"字段名字","分析器实例");
    这个字段名字:是指你建立索引所设定的域名
    Query q=new parser("关键字");

    eg:
    QueryParser parser = new QueryParser(Version.LUCENE_35,"content",analyzer);
    Query q = parser.parse(query);

    IndexSearcher:可以通过它的构造方法来获取你索引存放的位置
    TopDocs tds = searcher.search(q, 500);//总共取出来的条数

    TopDocs 指向相匹配的搜索条件的前N个搜索结果。它是指针的简单容器指向它们的搜索结果输出的文档。

    ScoreDoc是代表一个结果的相关度得分与文档编号等信息的对象。
    eg:

    Directory dir = FileIndexUtils.getDirectory();
    IndexSearcher searcher = getSearcher(dir);
    QueryParser parser = new QueryParser(Version.LUCENE_35,"content",analyzer);
    Query q = parser.parse(query);
    TopDocs tds = searcher.search(q, 500);//总共取出来的条数
    ScoreDoc[] sds = tds.scoreDocs;
    int start = (pageIndex-1)*pageSize;
    int end = pageIndex*pageSize;
    for(int i=start;i<end;i++) {
    Document doc = searcher.doc(sds[i].doc);
    System.out.println("filename:"+doc.get("filename"));
    System.out.println("path:"+doc.get("path"));
    System.out.println("date:"+doc.get("date"));
    System.out.println("size:"+doc.get("size"));
    System.out.println("content:"+doc.get("content"));
    System.out.println("-------------------------------------------");
    }
  • 相关阅读:
    Python之标示符和关键字
    Python之变量以及类型
    python之注释的分类
    Python的环境的搭建
    Python之第一个helloworld的代码
    Linux_ubuntu-命令系统管理
    Linux_ubuntu命令-用户、权限管理
    Linux-ubuntu命令-文件、磁盘管理
    Linux_Ubuntu命令概述
    Linux-Ubuntu文件权限
  • 原文地址:https://www.cnblogs.com/yaobolove/p/6682780.html
Copyright © 2011-2022 走看看