Luncene查询
来源:互联网 发布:数据堂众包 编辑:程序博客网 时间:2024/06/05 08:15
Luncene查询
public class TestQuery { @Test //单字段查询 public void query1() throws IOException{ Query query = new TermQuery(new Term("author","张朝")); testQuery(query); } //多字段查询 @Test public void query2() throws ParseException, IOException{ Version version = Version.LUCENE_44; Analyzer analyzer = new StandardAnalyzer(version); String fields[] = {"title","content"}; String keywords = "全文"; QueryParser queryParser = new MultiFieldQueryParser(version,fields, analyzer); Query query = queryParser.parse(keywords); testQuery(query); } //范围查询 @Test public void query3() throws IOException{ Query query = NumericRangeQuery.newIntRange("id", 1,5,false,false); testQuery(query); } //通配符查询 @Test public void query4() throws IOException{//?代表单个字符,*号代理多个字符 Query query = new WildcardQuery(new Term("title","luce*")); testQuery(query); } //所有查询 @Test public void query5() throws IOException{ Query query = new MatchAllDocsQuery(); testQuery(query); } //模糊查询 @Test public void query6() throws IOException{ Query query = new FuzzyQuery(new Term("author",""),2); testQuery(query); } //短语查询 @Test public void query7() throws IOException{ PhraseQuery query = new PhraseQuery(); query.add(new Term("title","lucene")); query.add(new Term("title","全")); query.setSlop(10); testQuery(query); } //布尔查询 @Test public void query8() throws IOException, ParseException{Query query1 = new TermQuery(new Term("author","张朝")); Version version = Version.LUCENE_44; Analyzer analyzer = new StandardAnalyzer(version); String fields[] = {"title","content"};String keywords = "全文";QueryParser queryParser = new MultiFieldQueryParser(version,fields, analyzer);Query query2 = queryParser.parse(keywords);BooleanQuery booleanQuery = new BooleanQuery();booleanQuery.add(query1,Occur.MUST);booleanQuery.add(query2,Occur.MUST);testQuery(booleanQuery); } public void testQuery(Query query) throws IOException{ Directory directory=FSDirectory.open(new File("D://luceneDirluceneDir")); IndexReader indexReader=DirectoryReader.open(directory); IndexSearcher indexSearcher=new IndexSearcher(indexReader); TopDocs topDocs=indexSearcher.search(query,100);System.out.println("总记录数...=="+topDocs.totalHits);ScoreDoc scoreDocs []=topDocs.scoreDocs;for(ScoreDoc scoreDoc:scoreDocs){int docID=scoreDoc.doc;Document document=indexSearcher.doc(docID);System.out.println(document.get("id"));System.out.println(document.get("title"));System.out.println(document.get("content"));System.out.println(document.get("author"));} }}
0 0
- Luncene查询
- Luncene 之二 查询
- luncene 查询字符串的解析
- luncene 查询字符串的解析
- luncene 查询字符串的解析
- Luncene
- luncene 查询字符串的解析—QueryParser类
- luncene 查询字符串的解析-QueryParser类
- luncene 查询字符串的解析—QueryParser类
- luncene RAMDirectory
- Luncene 之一 :创建索引(Luncene + paoding)
- luncene 传智播客--luncene(汤阳光)
- 初战luncene.net(1)
- Luncene工作原理
- Luncene工作原理
- luncene(汤阳光)
- Luncene、solr浅析
- LUNCENE/Solr入门示例
- 数据库sql练习题目
- css清除浮动大全
- 睿速QQ营销——网上销售领航者!!
- DB 13, 10, '$' ,int 21h详解
- 七种常用算法的c++ 实现
- Luncene查询
- PHP5.4中删除的安全函数
- Iterative (non-recursive) Merge Sort
- 万能的编程语言 不要习惯性地把工具当作你天性缺陷的遮羞布。
- WPF 弹出菜单
- 【Python】平衡点和支配点问题
- 黑马程序员 面向对象--->[初始化,封装.静态]
- SSH框架搭建过程
- 干货:2014年移动广告平台的十大难言之隐