• 【Solr专题之九】SolrJ教程 分类: H4_SOLR/LUCENCE 2014-07-28 14:31 2351人阅读 评论(0) 收藏



    一、SolrJ基础

    1、相关资料

    API:http://lucene.apache.org/solr/4_9_0/solr-solrj/

    apache_solr_ref_guide_4.9.pdf:Client APIs---Using SolrJ

    http://wiki.apache.org/solr/Solrj

    solr in action:Using the SolrJ client library to add documents from Java, Using SolrJ from Java

    2、


    二、SolrJ用于索引




    三、SolrJ用于搜索

    package org.jediael.ui;
    
    import org.apache.solr.client.solrj.SolrQuery;
    import org.apache.solr.client.solrj.SolrServer;
    import org.apache.solr.client.solrj.impl.HttpSolrServer;
    import org.apache.solr.client.solrj.response.QueryResponse;
    import org.apache.solr.common.SolrDocument;
    import org.apache.solr.common.SolrDocumentList;
    import org.jediael.util.Constants;
    
    public class ReturnResult {
    
    	public static void main(String[] args) throws Exception {
    
    		String serverUrl = (args != null && args.length > 0) ? args[0]
    				: "http://" + Constants.IP + ":" + Constants.PORT
    						+ "/solr/collection1";
    		SolrServer solrServer = new HttpSolrServer(serverUrl);
    
    		// 读取输入参数作为查询关键字,若无关键字,则查询全部内容。
    		String queryString = (args != null && args.length > 1) ? args[1]
    				: "*:*";
    		SolrQuery solrQuery = new SolrQuery(queryString);
    		// 定义使用哪个request
    		// handler进行搜索,若无指定,则使用默认的handler.默认是/select。若solrConfig.xml中无/select这个searchHandler,则返回以下错误
    		solrQuery.set("qt", "/search");
    		// solrQuery.setRows(5);
    		QueryResponse resp = solrServer.query(solrQuery);
    
    		SolrDocumentList hits = resp.getResults();
    
    		for (SolrDocument doc : hits) {
    			for (String fieldName : doc.getFieldNames()) {
    				System.out.println(fieldName + " : " + doc.getFieldValue(fieldName) + "  ");
    			}
    			System.out.println("------------------------Next Document--------------------------------");
    		}
    
    	}
    }
    


    1、使用SolrJ进行搜索,基本步骤如下:

    (1)创建一个SolrServer。

    (2)创建一个SolrQuery,并使用set(String,String)进行参数的配置。

    (3)调用SolrServer.query(solrQuery),返回QueryResponse。

    (4)对QueryResponse进行分析处理。

    2、以下语句用于指定使用哪个request handler进行搜索,若无指定,则使用默认的handler.默认是/select。若solrConfig.xml中无/select这个searchHandler,则返回以下错误

    <span style="font-family: Arial, Helvetica, sans-serif;">solrQuery.set("qt", "/search");</span>

    HTTP Status 404 - /solr/collection1/select


    type Status report

    message /solr/collection1/select

    description The requested resource is not available.


    Apache Tomcat/7.0.54




    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    linux中实现将多个连续的字符拆分为单个字符
    linux 中删除当前目录下指定文件外所有的文件
    linux中将指定行数据合并为一行数据
    gz文件压缩、解压缩保留源文件
    R语言中提取多个连续值的累计的中间位点
    .net的委托和事件的直接理解
    消息是什么
    显示进度条的无组件上传!!
    与Java相关的四十个名字
    循环为Label赋值!
  • 原文地址:https://www.cnblogs.com/lujinhong2/p/4637272.html
Copyright © 2020-2023  润新知