• solrJ


    导入jar包

    package com.tzy.solrJ;
    
    import java.io.IOException;
    
    import org.apache.solr.client.solrj.SolrServer;
    import org.apache.solr.client.solrj.SolrServerException;
    import org.apache.solr.client.solrj.impl.HttpSolrServer;
    import org.apache.solr.common.SolrInputDocument;
    import org.junit.Test;
    
    public class SolrJManager {
    
        @Test
        public void testAdd() throws SolrServerException, IOException{
            String baseURL = "http://localhost:8080/solr/";
            SolrServer solrServer = new HttpSolrServer(baseURL);
            SolrInputDocument doc = new SolrInputDocument();
            doc.setField("id", "lala");
            doc.setField("name", "张三");
            //添加
            solrServer.add(doc);
            solrServer.commit();
            
        }
    }

    @Test
        public void deleteDocumentByid() throws Exception {
            //创建连接
            SolrServer solrServer = new HttpSolrServer("http://localhost:8080/solr");
            //根据id删除文档
            solrServer.deleteById("lala");
            //删除全部
            //solrServer.deleteByQuery("*:*", 1000);
            //提交修改
            solrServer.commit();
        }
    删除方法

     

    //查询索引
            @Test
            public void queryIndex() throws Exception {
                //创建连接
                SolrServer solrServer = new HttpSolrServer("http://localhost:8080/solr");
                //创建一个query对象
                SolrQuery query = new SolrQuery();
                //设置查询条件
                //query.set("q","*:*");
                query.setQuery("product_name:台灯");
                
                //过滤
                //query.set("fq", "product_picture:[* TO 11}");
                
                //排序
                query.addSort("product_price", ORDER.desc);
                
                //分页
                query.setStart(0);
                query.setRows(5);
                
                //设置默认域
                query.set("df", "product_name");//设置好以后query.setQuery("台灯");就可以查询
                
                //只查询指定域
                query.set("fl", "id,product_name");
                
                //高亮 
                query.setHighlight(true);
                query.addHighlightField("product_name");
                query.setHighlightSimplePre("<span style='color:red'>");
                query.setHighlightSimplePost("</span>");
                
                
                //执行查询
                QueryResponse queryResponse = solrServer.query(query);
                //取查询结果
                SolrDocumentList solrDocumentList = queryResponse.getResults();
                //高亮查询结果
                Map<String, Map<String, List<String>>> highlighting = queryResponse.getHighlighting();
                //共查询到商品数量
                System.out.println("共查询到商品数量:" + solrDocumentList.getNumFound());
                //遍历查询的结果
                for (SolrDocument solrDocument : solrDocumentList) {
                    System.out.println(solrDocument.get("id"));
                    System.out.println(solrDocument.get("product_name"));
                    System.out.println(solrDocument.get("product_price"));
                    System.out.println(solrDocument.get("product_catalog_name"));
                    System.out.println(solrDocument.get("product_picture"));
                    System.out.println("************");
                    
                    Map<String, List<String>> map = highlighting.get(solrDocument.get("id"));
                    List<String> list = map.get("product_name");
                    System.out.println(list.get(0));
                    
                }
            }
    查询方法
  • 相关阅读:
    PHP压缩html网页代码 : 清除空格,制表符,注释标记
    CentOS 编译 Nginx 服务
    Fedora 下安装Fcitx输入法
    SVN 脚本
    Linux 在线播放
    Linux命令行下常用svn命令
    linux vi(vim)常用命令汇总
    MySQL修改root密码
    Fedora 查看CHM帮助文档
    Fedora 快捷键
  • 原文地址:https://www.cnblogs.com/ttzzyy/p/8071990.html
Copyright © 2020-2023  润新知