solrj操控sorl,增删改查

来源:互联网 发布:免费hifi播放软件 编辑:程序博客网 时间:2024/06/08 02:03

maven

<dependency>            <groupId>org.apache.solr</groupId>            <artifactId>solr-solrj</artifactId>            <version>4.10.4</version>        </dependency>        <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->        <dependency>            <groupId>commons-logging</groupId>            <artifactId>commons-logging</artifactId>            <version>1.1.1</version>        </dependency>

增加的大体思路

  1. 第一,准备好一个sorl项目并启动,得到一个sorl的url。
  2. 第二,导入的jar包中得到sorl的客户端对象HttpSolrServer
  3. 第三,new一个doc对象,添加到HttpSolrServer
  4. 第四,提交
package lucene01;import java.io.File;import java.io.StringReader;import org.apache.lucene.analysis.Analyzer;import org.apache.lucene.analysis.TokenStream;import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;import org.apache.lucene.document.Document;import org.apache.lucene.index.DirectoryReader;import org.apache.lucene.index.IndexReader;import org.apache.lucene.index.Term;import org.apache.lucene.search.IndexSearcher;import org.apache.lucene.search.Query;import org.apache.lucene.search.ScoreDoc;import org.apache.lucene.search.TermQuery;import org.apache.lucene.search.TopDocs;import org.apache.lucene.store.Directory;import org.apache.lucene.store.FSDirectory;import org.apache.solr.client.solrj.impl.HttpSolrServer;import org.apache.solr.common.SolrInputDocument;import org.junit.Test;import org.wltea.analyzer.lucene.IKAnalyzer;public class FirstDemo2 {    // 创建索引    @Test    public void testSearch() throws Exception {        String baseURL="http://localhost:8081/solr/collection1";            HttpSolrServer httpSolrServer = new HttpSolrServer(baseURL);        SolrInputDocument doc = new SolrInputDocument();        doc.addField("id", "liuzhonghua");        doc.addField("name", "刘中华");        httpSolrServer.add(doc);        httpSolrServer.commit();    }}

删除大体思路

得到连接,根据条件删除,后面是时间(条件也可以是*:* 表示全部)

 @Test    public void testSearch2() throws Exception {        String baseURL="http://localhost:8081/solr/collection1";            HttpSolrServer httpSolrServer = new HttpSolrServer(baseURL);        httpSolrServer.deleteByQuery("name:刘中华", 100); }

查询大体思路

 @Test    public void testSearch3() throws Exception {        String baseURL="http://localhost:8081/solr/collection1";            HttpSolrServer httpSolrServer = new HttpSolrServer(baseURL);        //new 一个查询对象        SolrQuery solrQuery = new SolrQuery();        //向查询对象里面增加条件   (增加基本的查询条件,想当于   solrQuery.set("q","name:刘中华");)        solrQuery.setQuery("name:刘中华");        //增加过滤条件//      solrQuery.set("fq","desc:程序员");        //价格排序//      solrQuery.addSort("price",ORDER.desc);        //分页        solrQuery.setStart(0);        solrQuery.setRows(5);        //高亮,默认域        solrQuery.set("df", "name");        //指定只查询某个域        solrQuery.set("fl", "id,name");        //高亮显示,开启高亮        solrQuery.setHighlight(true);        //指定高亮域        solrQuery.addHighlightField("name");        //指定前缀,后缀        solrQuery.setHighlightSimplePre("<span style='color:red'>");        solrQuery.setHighlightSimplePost("</span>");        //执行查询,得到结果集,同时也得到高亮部分的结果集        QueryResponse query = httpSolrServer.query(solrQuery);        SolrDocumentList doc = query.getResults();        Map<String, Map<String, List<String>>> highlighting = query.getHighlighting();        //遍历        System.out.println(doc.getNumFound());        for(SolrDocument d : doc){            System.out.println(d.get("name"));            System.out.println(d.get("id"));            System.out.println("-----------------");            Map<String, List<String>> map = highlighting.get(d.get("id"));            List<String> list = map.get("name");            System.out.println(list.get(0));        }    }
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 结婚铺床说简短点话 结婚铺床吉利话顺口溜 铺床的拼音 铺床四言八句 新婚铺床 铺床拼音 新婚铺床口诀 上下铺床图片 结婚铺床有什么讲究 新人铺床顺口溜 新娘铺床顺口溜 结婚铺床四言八句 结婚铺床 铺床的步骤 铺床法 铺床吉言 梦见铺床 农村风俗铺床顺口溜 木质上下铺床 给新娘铺床的简单六句话 儿童上下铺床 帮新人铺床的顺口溜 上下铺学生床尺寸 铺床的英文 宿舍上下铺单人床尺寸 榻榻米床怎么铺床单图片 结婚铺床说的吉祥话 新婚铺床的步骤 铺底流动资金 40平米店铺装修设计图 铺开 铺开的拼音 铺开拼音 什么地铺开 什么的铺开 铺张扬厉 铺张 大事铺张 什么什么铺张 预铺反粘防水卷材 湿铺自粘防水卷材