lucene4.6查询实例
来源:互联网 发布:淘宝网提示证书错误 编辑:程序博客网 时间:2024/05/07 14:04
package com.jiepu.lucene_49;import java.io.IOException;import org.apache.lucene.analysis.Analyzer;import org.apache.lucene.analysis.standard.StandardAnalyzer;import org.apache.lucene.document.Document;import org.apache.lucene.document.DoubleField;import org.apache.lucene.document.Field;import org.apache.lucene.document.StringField;import org.apache.lucene.document.TextField;import org.apache.lucene.index.DirectoryReader;import org.apache.lucene.index.IndexReader;import org.apache.lucene.index.IndexWriter;import org.apache.lucene.index.IndexWriterConfig;import org.apache.lucene.index.Term;import org.apache.lucene.search.IndexSearcher;import org.apache.lucene.search.ScoreDoc;import org.apache.lucene.search.TopDocs;import org.apache.lucene.search.WildcardQuery;import org.apache.lucene.store.Directory;import org.apache.lucene.store.RAMDirectory;import org.apache.lucene.util.Version;public class TestRegQuery {public static void main(String[] args) throws IOException {Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_43);Directory directory = new RAMDirectory();//directory=FSDirectory.open(new File(""));IndexWriterConfig config=new IndexWriterConfig(Version.LUCENE_43, analyzer);IndexWriter iwriter = new IndexWriter(directory, config);Document doc = new Document();//StringField//DoubleField//BinaryDocValuesFielddoc.add(new TextField("name", "text 麻痹的 addd dd ", Field.Store.YES));doc.add(new TextField("content", "我是内容1号 content text 麻痹的 addddd 你是猪 ", Field.Store.YES));doc.add(new TextField("age", "25", Field.Store.YES));doc.add(new TextField("url", "http://www.hao123.abc.com", Field.Store.YES));iwriter.addDocument(doc);Document doc2 = new Document();String text = "This is the text add to be indexed. 你好啊 呵呵 内存索引";doc2.add(new TextField("name", text, Field.Store.YES));doc2.add(new TextField("content", "我是内容2号 content 麻痹的 addddd 你是猪 ",Field.Store.YES));doc2.add(new TextField("age", "26", Field.Store.YES));doc2.add(new TextField("url", "http://hao123.abc.com", Field.Store.YES));iwriter.addDocument(doc2);Document doc3 = new Document();doc3.add(new TextField("name", "add hello 测试的数据", Field.Store.YES));doc3.add(new TextField("content", "我是内容3号 content addddd 你是猪 ", Field.Store.YES));doc3.add(new TextField("age", "22", Field.Store.YES));doc3.add(new TextField("url", "http://www.baidu.com", Field.Store.YES));iwriter.addDocument(doc3);iwriter.close();//directory=FSDirectory.open(new File(""));IndexReader indexReader =DirectoryReader.open(directory) ;//一般系统中reader使用单例模式IndexSearcher searcher = new IndexSearcher(indexReader);//BooleanQuery booleanQuery = new BooleanQuery();//NumericRangeQuery ageQuery = NumericRangeQuery.newIntRange("age", new Integer(20), new Integer(30), true, false);//booleanQuery.add(new BooleanClause(ageQuery, BooleanClause.Occur.MUST));WildcardQuery query=new WildcardQuery(new Term("name","*add*"));//String regex="http://*com/";//Term t=new Term("url",regex);//RegexQuery query=new RegexQuery(t);TopDocs topDocs = searcher.search(query, 100);ScoreDoc[] scoreDocs = topDocs.scoreDocs;System.out.println("size="+scoreDocs.length);for(int i=0;i<scoreDocs.length;i++) {Document document = searcher.doc(scoreDocs[i].doc);System.out.println(document.get("content"));}}}
0 0
- lucene4.6查询实例
- lucene4.3简单创建和查询索引实例
- lucene4.0入门实例
- Lucene4.3.1实例
- lucene4.0入门实例
- lucene4.7实例详解
- Lucene4.0入门实例
- lucene4.5简单实例
- lucene4.0入门实例
- lucene4.0实例
- Lucene4.6实战应用
- lucene4
- lucene4.1多域查询简单示例
- lucene4.10.2实例(增删改查)
- Lucene4.7.2实例之创建索引
- IKAnalyzer2012FF_u1.jar-lucene4.0简单实例
- Lucene4.6中LogMergePolicy解析
- 一个Lucene4.6工具类
- [转]MyEclipse内存不足问题
- python 学习笔记(八)
- 基础练习-十六进制转八进制 -JAVA蓝桥杯
- 按照列名进行顺序的复制数据表
- [【Maven】Maven导出工程依赖的jar包
- lucene4.6查询实例
- Android:Animation动画效果
- Yii2.0 rules [验证规则]
- 网络基本功(一):细说网络传输
- 搭建WAMP server环境后,local host 80端口被占用的解决方案
- 关于我,关于博客
- 复制表结构
- 获取datatable的列名
- IOS6及以后如何标识不同设备&获取用户的唯一标示符