<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                1.添加依賴 ~~~ <dependencies> <!-- Junit單元測試 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>4.10.2</version> </dependency> <!-- Solr底層會使用到slf4j日志系統 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.22</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> </dependencies> ~~~ 2.Book類 ~~~ package cn.li; import org.apache.solr.client.solrj.beans.Field; public class Book { @Field private String id; @Field private String name; @Field//需要將該字段添加到索引庫 private String author; @Field private String description; public String getId() { return id; } public String getName() { return name; } public String getAuthor() { return author; } public String getDescription() { return description; } public void setId(String id) { this.id = id; } public void setName(String name) { this.name = name; } public void setAuthor(String author) { this.author = author; } public void setDescription(String description) { this.description = description; } public Book() { } public Book(String id, String name, String author, String description) { this.id = id; this.name = name; this.author = author; this.description = description; } @Override public String toString() { return "Book{" + "id='" + id + '\'' + ", name='" + name + '\'' + ", author='" + author + '\'' + ", description='" + description + '\'' + '}'; } } ~~~ 3.demo1 ~~~ package cn.li; import static org.junit.Assert.assertTrue; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServerException; 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.apache.solr.common.SolrInputDocument; import org.apache.solr.common.params.SolrParams; import org.junit.Test; import java.io.IOException; import java.util.Arrays; import java.util.List; /** * Unit test for simple App. */ public class SolrDemo { //新增索引 @Test public void createIndex(){ //創建solr服務對象 參數:solr服務的地址 并且需要指定到索引庫位置 HttpSolrServer server=new HttpSolrServer("http://localhost:8080/solr/collection1"); //創建solr文檔對象 SolrInputDocument document=new SolrInputDocument(); document.addField("id","7"); document.addField("name","西游記"); document.addField("author","吳承恩"); document.addField("description","這本書講的是一個猴子和兩個和尚西天取經的故事"); //添加文檔 try { server.add(document); //提交 server.commit(); } catch (Exception e) { e.printStackTrace(); } } @Test public void createIndex_Bean(){ //創建solr服務對象 參數:solr服務的地址 并且需要指定到索引庫位置 HttpSolrServer server=new HttpSolrServer("http://localhost:8080/solr/collection1"); //創建solr文檔對象 Book book=new Book("8","紅樓夢","曹雪芹","賈寶玉和林黛玉"); try { server.addBean(book); server.commit(); } catch (Exception e) { e.printStackTrace(); } } //刪除 @Test public void deleteIndex(){ HttpSolrServer server=new HttpSolrServer("http://localhost:8080/solr/collection1"); try { //根據單個id刪除 //server.deleteById("8"); //根據id集合刪除 //server.deleteById(Arrays.asList("7","8")); //根據查詢語句進行刪除 server.deleteByQuery("id:8"); server.commit(); } catch (Exception e) { e.printStackTrace(); } } //查詢 @Test public void selectIndex(){ HttpSolrServer server=new HttpSolrServer("http://localhost:8080/solr/collection1"); //創建solr查詢參數 參數:查詢條件 SolrParams params=new SolrQuery("description:著作"); try { //執行查詢 并返回查詢結果 QueryResponse response = server.query(params); //解析查詢結果 獲取文檔列表 SolrDocumentList results = response.getResults(); System.out.println("共找到條數:"+results.getNumFound()); for (SolrDocument result:results ) { System.out.println("id"+result.get("id")); System.out.println("name"+result.get("name")); System.out.println("author"+result.get("author")); System.out.println("description"+result.get("description")); } } catch (SolrServerException e) { e.printStackTrace(); } } @Test public void selectIndex_Bean(){ HttpSolrServer server=new HttpSolrServer("http://localhost:8080/solr/collection1"); //創建solr查詢參數 參數:查詢條件 SolrParams params=new SolrQuery("*:*"); try { //執行查詢 并返回查詢結果 QueryResponse response = server.query(params); //解析查詢結果 獲取文檔列表 SolrDocumentList results = response.getResults(); System.out.println("共找到條數:"+results.getNumFound()); List<Book> books = response.getBeans(Book.class); for (Book boook:books){ System.out.println(boook); } } catch (SolrServerException e) { e.printStackTrace(); } } } ~~~ 4.demo2 ~~~ package cn.li; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.HttpSolrServer; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.params.SolrParams; import org.junit.Test; import java.util.List; import java.util.Map; public class SolrDemo2 { //分頁 //每頁顯示3條 @Test public void page(){ int pageNum=1;//當前頁 int rows=3;//每頁顯示條數 HttpSolrServer server=new HttpSolrServer("http://localhost:8080/solr/collection1"); SolrQuery params=new SolrQuery("*:*"); params.setStart((pageNum-1)*rows);//設置起始條數 params.setRows(rows);//設置每頁數量 try { QueryResponse query = server.query(params); List<Book> books = query.getBeans(Book.class); System.out.println(("查詢條數:" + books.size())); for(Book book:books){ System.out.println(book); } } catch (SolrServerException e) { e.printStackTrace(); } } //排序 @Test public void sort(){ HttpSolrServer server=new HttpSolrServer("http://localhost:8080/solr/collection1"); SolrQuery params=new SolrQuery("*:*"); //設置排序字段 升序還是降序 參數:1.排序字段 2.asc升序 默認是升序 desc降序 params.setSort("id", SolrQuery.ORDER.desc); try { QueryResponse query = server.query(params); List<Book> books = query.getBeans(Book.class); System.out.println(("查詢條數:" + books.size())); for(Book book:books){ System.out.println(book); } } catch (SolrServerException e) { e.printStackTrace(); } } //高亮 @Test public void highLighter(){ HttpSolrServer server=new HttpSolrServer("http://localhost:8080/solr/collection1"); SolrQuery params=new SolrQuery("id:[2 TO 5]"); //添加高亮字段 params.addHighlightField("description"); //設置高亮前綴和后綴 params.setHighlightSimplePre("<em>"); params.setHighlightSimplePost("</em>"); try { QueryResponse query = server.query(params); //獲取高亮數據 Map<String, Map<String, List<String>>> highlighting = query.getHighlighting(); /* * 外層map的key是當前文檔的id * 內層map:key是高亮字段名 * value:集合?【要考慮到多值字段】高亮字段的值 * */ List<Book> books = query.getBeans(Book.class); System.out.println(("查詢條數:" + books.size())); for(Book book:books){ String bookId = book.getId(); Map<String, List<String>> stringListMap = highlighting.get(bookId); List<String> description = stringListMap.get("description"); if(description!=null&&description.size()>0){ book.setDescription(description.get(0)); } System.out.println(book); } } catch (SolrServerException e) { e.printStackTrace(); } } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看