小号
**
搜索Lucene的学习:
**
搜索按功能分为:垂直搜索(细分搜索),综合搜索,还此外包括站网站内搜索软件状语从句:搜索内部搜索的关键字:索引搜索引擎的英文通过网络爬虫从互联网电子杂志|网页放在临时库中,然后通过过滤筛选出符合规则并且索引库没有的网页,放入索引库,根据用户就索引可以电子杂志这些|网页倒排索引技术(反向索引):将文档内容划分为多个词条,每个词条就是索引,词条独一无二,包含这些词条的文档就放在该词条的关联列表中,使用该索引就可以得到包含该词条的多个文档内容的Lucene的的是开发搜索引擎的工具包,Solr的是基于Lucene的开发的企业级搜索引擎产品,根据实现原理就是分词建立索引库:数据 - >文档对象 - >索引写入器(索引写入器配置对象(分词词)器,Lucene的版本),索引库地址) - >索引库maven工程导入依赖出现jre版本 对的错,右键 - > maven->更新项目建立索引库:数据 - >文档对象 - >索引写入器(索引写入器配置对象,分词器) - >库索引新建索引库,向索引库添加索引的案例:
——————————- @SuppressWarnings(“resource”)public static void main(String [] args)抛出IOException {//创建文档对象Document doc = new Document(); //添加字段,Store.YES表示存储,NO表示不存储// LongField IntField DoubleField // StringField TextField LongField id = new LongField(“id”,11L,Store.YES); doc.add(ID); StringField title = new StringField(“title”,“谷歌地图之父跳槽Facebook”,Store.YES); doc.add(标题); //指定索引库位置目录dir = FSDirectory.open(新文件(“D:\ index”)); //索引写入器的配置1配置Lucene的版本2指定分词器IndexWriterConfig iwc = new IndexWriterConfig(Version.LATEST,new StandardAnalyzer()); //创建索引写入器indexwriter对象IndexWriter indexWriter = new IndexWriter(dir,iwc); //将数据写入到索引库indexWriter.addDocument(DOC); //提交indexWriter.commit(); //关闭索引写入器indexWriter.close(); }}
索引写入器记得提交后要关闭,不然其他索引写入器不能访问索引库StringField字段类默认不使用分词器,所以词条只有一个,文本字段字段类使用提供的分词器,词条项有多个Store.YES表示将数据存储在索引的文档列表,NO表示不储存Version.LATEST表示的Lucene的版本索引写入器支持批量提交(参数是一个集合):Lucene的的默认的中文分词已经被弃用,现在IK的分类器(IKanalyzer)自定义分词器:在资源放入IKAnakyzer.cfg.xml配置文件,创建分词文件,写进自定义分词<?xml version =“1.0”编码=“UTF-8”? > <!DOCTYPE属性SYSTEM“ http://java.sun.com/dtd/properties.dtd ”> < properties > < comment > IK Analyzer扩展配置 <! - 用户可以在这里配置自己的扩展字典- > < dict“> ext.dic; <! - 用户可以在这里配置自己的扩展停止词字典 - >