導航:首頁 > 源碼編譯 > solrj源碼

solrj源碼

發布時間:2022-08-03 02:03:49

『壹』 solrcloud 在windows可以集群嗎

solrcloud5.2.1+zookeeper一部精通講師:夜行俠課程介紹:/s/1g9FMu密碼:h4kc課程介紹一、課程使用到的軟體及版本:centos系統,solr5.2.1,zookeeper3.4.6二、課程大綱1、zookeeper集群搭建,以及配置信息,zookeeper客戶端命令講解2、solrcloud在生產環境下的搭建3、創建collection,如何動態載入配置到zookeeper中,以及schema的詳解4、solr索引文件夾,uuid與uniqueKey的講解,如何使用uuid自動生成uniqueKey5、solrDIH導入mysql數據6、mysql的增量導入,以及各種datasource的講解7、ik分詞器8、詳細講解文檔的Fields以及solrconfig.xml的相關配置,以及solrweb管理界面描述(上)9、solrweb管理界面描述(下)10、solrspellcheck以及solr源碼轉maven項目11、solr的UTC時間修改,ik分詞器源碼修改動態載入分詞,停頓詞(上)12、ik分詞器源碼修改動態載入分詞,停頓詞(下)13、solrj與springMVC整合14、springsolrj的簡單增刪改查,權重設置15、springsolrj的Faceting搜索Highlighting高亮(上)16、springsolrj的Faceting搜索Highlighting高亮(下)17、solr的近實時索引搜索以及實時索引搜索,搜索平台架構的詳細剖析------------------------------

『貳』 solrj 怎麼樣把查詢數據返回到前端

1、首先,我比較懶。我把 apache-solr-3.6.1/dist 目錄下所有的包導入到了工程中,除了war包。

2、下面來看看代碼,裡面都有注釋,其它就不多說了

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;

public class SolrJUtils {

private static final String baseURL = "http://192.168.241.128:8080/solr";// solr伺服器url
private static SolrServer solrServer = new HttpSolrServer(baseURL);

public static void search() {
SolrQuery params = new SolrQuery();
// 查詢關鍵詞,*:*代表所有屬性、所有值,即所有index
// params.set("q", "*:*");
params.set("q", "nickname:chm*");// 查詢nickname是已chm開頭的數據

// 分頁,start=0就是從0開始,,rows=5當前返回5條記錄,第二頁就是變化start這個值為5就可以了。
params.set("start", 0);
params.set("rows", 5);

// 按nickname排序,asc升序 desc降序
params.set("sort", "nickname asc");

try {
QueryResponse rsp = solrServer.query(params);
SolrDocumentList docs = rsp.getResults();
System.out.println("文檔個數:" + docs.getNumFound());
System.out.println("查詢時間:" + rsp.getQTime());
for (SolrDocument doc : docs) {
String name = (String) doc.getFieldValue("nickname");
System.out.println(name);
}
} catch (Exception e) {
e.printStackTrace();
}

}

public static void main(String[] args) {
SolrJUtils.search();//實際應用過程中可以根據自身需要傳參
}
}

好了,一般開發都是用查詢功能的,索引的更新基本上都是使用
crond。

『叄』 org.apache.solr.client.solrj.beans.field這是什麼包

Solrj是Solr搜索伺服器的一個比較基礎的客戶端工具,可以非常方便地與Solr搜索伺服器進行交互。最基本的功能就是管理Solr索引,包括添加、更新、刪除和查詢等。
對於一些比較基礎的應用,用Solj基本夠用,而且你可以非常容易地通過使用Solrj的API實現與Solr搜索伺服器進行交互,實現對Solr的基本管理功能。
如果你的應用比較復雜,可以擴展Solrj來滿足需要。

『肆』 solr提供的源碼怎麼打成jar包

1、將解壓包中的solr-4.7.1/dist/solr-4.7.1.war復制到tomcat_dir/webapps/目錄,並命名為solr.war。 2、將solr-4.7.1/example/lib/ext/目錄下的jar文件復制到tomcat/lib目錄下,將solr-4.7.1/example/resources/下的log4j.properties文件復制到...

『伍』 SolrJ 怎麼獲取IK中文分詞結果

IKAnalyzer中文分詞器是開源的java工具包,你可以詳細讀裡面的源碼。其詞典存儲用的是txt文件

『陸』 solr如何實現多語言搜索

ANT_HOME:E:\Work\apache-ant\1.9.1 (這里為你自己解壓縮的目錄) PATH:%ANT_HOME%\bin (這個設置是為了方便在dos環境下操作)
查看是否安裝成功,在命令行窗口中輸入命令ant,若出現結果:

說明ant安裝成功!因為ant默認運行build.xml文件,這個文件需要我們建立。現在就可以進行build Solr源碼了。在命令行窗口中進入到你的Solr源碼目錄,輸入ant會出現當前build.xml使用提示信息。

其它的先不用管它,我們只要針對我們使用的IDE進行build就行了,如果使用eclipse就在命令行輸入:ant eclipse.如果使用IntelliJ IDEA 就在命令行輸入:ant idea。這樣就能進行build了

『柒』 如何在eclipse中部署solr的web工程

1.新建Dynamic Web project項目

2.刪除WebContent下面的所有內容,並將apache-solr-3.5.0.war(下載dist文件夾中)所有內容復制到WebContent下面。

3.指定solrHome,在web.xml中添加以下內容

<env-entry>

<env-entry-name>solr/home</env-entry-name>

<env-entry-value>d:/</env-entry-value>

<env-entry-type>java.lang.String</env-entry-type>

</env-entry>

在這里指定solrHome=d:/

4.在d盤下配置solr cores(和solrHome對應),在d盤下新建solr.xml,內容如下:

<?xml version="1.0"encoding="UTF-8"?>

<solr persistent="false">

<!--

adminPath: RequestHandler path to manage cores.

If 'null'(or absent), cores will not be manageable via request handler

-->

<cores adminPath="/admin/cores">

<core name="core0" instanceDir="D:/solrHome2/multicore/core0" />

<core name="core1" instanceDir="D:/solrHome2/multicore/core1" />

</cores>

</solr>

5.從example下拷貝multicore到D:/solrHome2下

6.在eclipse中啟動solr

servers窗口->new Server->選擇一個server runtime enviroment->add 項目

『捌』 solrj的CloudSolrClient源碼分析及為什麼查詢慢

solrj針對solrcloud提供了CloudSolrClient,用於對集群環境solr操作,從一個測試例子,一步步深入,看看CloudSolrClient是如何做查詢操作的

1、使用CloudSolrClient發起一個查詢請求

2、接著調用CloudSolrClient的request方法

3、CloudSolrClient的request方法中,首先回去獲取請求中的collection名字,如果沒有,獲取默認設置的collcetion,然後調用requestWithRetryOnStaleState方法

4、requestWithRetryOnStaleState方法中,先去連接zk獲取solrclound注冊在zk上的信息

5、獲取zk上的信息,經過處理後,封裝到request中,調用sendRequest方法

6、在sendRequest中,會獲取每個片的每個replicat的url與注冊在zk上的live url做一個交集,得到一個查詢url集合,然後創建一個LBHttpSolrClient,請求solrcloud

7、LBHttpSolrClient的request中會在for循環中挨個的輪詢上一個步驟中放入的urllist發起http查詢請求

在rsp合並結果,並返回

『玖』 solr組件的角色有哪些

Solr它是一種開放源碼的、基於 Lucene Java 的搜索伺服器,易於加入到 Web 應用程序中。

二、Solr 提供了層面搜索(就是統計)、命中醒目顯示並且支持多種輸出格式(包括XML/XSLT 和JSON等格式)。它易於安裝和配置,而且附帶了一個基於 HTTP 的

管理界面。Solr已經在眾多大型的網站中使用,較為成熟和穩定。

三、Solr 包裝並擴展了 Lucene,所以Solr的基本上沿用了Lucene的相關術語。更重要的是,Solr 創建的索引與 Lucene 搜索引擎庫完全兼容。

四、通過對Solr 進行適當的配置,某些情況下可能需要進行編碼,Solr 可以閱讀和使用構建到其他 Lucene 應用程序中的索引。

五、此外,很多 Lucene 工具(如Nutch、 Luke)也可以使用Solr 創建的索引。可以使用 Solr 的表現優異的基本搜索功能,也可以對它進行擴展從而滿足企業的需要。
solr的優點
通過上面Solr的簡介,可知solr的優點包括以下幾個方面:

①高級的全文搜索功能;

②專為高通量的網路流量進行的優化;

③基於開放介面(XML和HTTP)的標准;

④綜合的HTML管理界面;

⑤可伸縮性-能夠有效地復制到另外一個Solr搜索伺服器;

⑥使用XML配置達到靈活性和適配性;

⑦可擴展的插件體系。
solr VS Lucene!?
在比較solr和Lucene之前,要知道什麼是Lucene,那麼首先就來回顧Lucene是個什麼東東?

Lucene是一個基於Java的全文信息檢索工具包,它不是一個完整的搜索應用程序,而是為你的應用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta(雅加達) 家族中的一個開源項目。也是目前最為流行的基於Java開源全文檢索工具包。目前已經有很多應用程序的搜索功能是基於 Lucene ,比如Eclipse 幫助系統的搜 索功能。Lucene能夠為文本類型的數據建立索引,所以你只要把你要索引的數據格式轉化的文本格式,Lucene 就能對你的文檔進行索引和搜索。
那麼,solr和它相比,是」輸「了?還是「贏」了呢?

其實,Solr與Lucene 並不是競爭對立關系,恰恰相反Solr 依存於Lucene,因為Solr底層的核心技術是使用Lucene 來實現的,Solr和Lucene的本質區別有以下三點:搜索伺服器,企業級和管理。Lucene本質上是搜索庫,不是獨立的應用程序,而Solr是。Lucene專注於搜索底層的建設,而Solr專注於企業應用。Lucene不負責支撐搜索服務所必須的管理,而Solr負責。所以說,一句話概括 Solr: Solr是Lucene面向企業搜索應用的擴展。
下面是solr和 lucene的架構圖: 

這個圖很繁瑣,看不懂,大家不要灰心,在後面的代碼里你就能夠了解了這個圖所講的。

不難看出,綠色的就是lucene的模塊,而藍色的就是solr擴展了lucene。從圖上可以看出以下幾點:

a. 一個真正的擁有動態欄位(Dynamic Field)和唯一鍵(Unique Key)的數據模式(Data Schema) 
b. 對Lucene查詢語言的強大擴展! 
c. 支持對結果進行動態的分組和過濾 
d. 高級的,可配置的文本分析 
e. 高度可配置和可擴展的緩存機制 
f. 性能優化 
g. 支持通過XML進行外部配置 
h. 擁有一個管理界面 
i. 可監控的日誌 
j. 支持高速增量式更新(Fast incremental Updates)和快照發布(Snapshot Distribution)

說到這,solr的簡介就到此結束了,相信大家也對solr有了初步的了解,下面開始介紹一下solr的常用屬性有哪些?

solr的使用屬性及配置文件
Document 包括一個或多個 Field。Field 包括名稱、內容以及告訴 Solr 如何處理內容的元數據。

例如,Field可以包含字元串、數字、布爾值或者日期,也可以包含你想添加的任何類型,只需用在solr的配置文件中進行相應的配置即可。Field可以使用大量的選項來描述,這些

選項告訴 Solr 在索引和搜索期間如何處理內容。

現在,查看以下圖片 中列出的重要屬性的子集:

在這就先提一下solr的重要文件之一,就是schema.xml的配置文件。

(一) schema.xml

schema.xml這個配置文件可以在你下載solr包的安裝解壓目錄的\solr\example\solr\collection1\conf中找到,它就是solr模式關聯的文件。

打開這個配置文件,你會發現有詳細的注釋。模式組織主要分為三個重要配置:

一、Fieldtype

Fieldtype:就是屬性類型的意思,像int,String,Boolean種類型,而在此配置文件中,FieldType就有這種定義屬性的功能,看下面的圖片: 

圖片上有我們熟悉的int,String,boolean,那麼,後面的配置,是什麼呢?那麼我們就來介紹一下後面的參數:

二、Field

Field:是添加到索引文件中出現的屬性名稱,而聲明類型就需要用到上面的type,如圖所示:

ps:①field: 固定的欄位設置;②dynamicField: 動態的欄位設置,用於後期自定義欄位,*號通配符.例如: test_i就是int類型的動態欄位。

還有一個特殊的欄位Field,一般用於檢索時用的欄位這樣就只對這一個欄位進行索引分詞就行了Field的dest欄位如果有多個source一定要設置

閱讀全文

與solrj源碼相關的資料

熱點內容
用什麼工具製作安卓應用 瀏覽:484
單片機數碼管的代碼 瀏覽:775
第一款安卓手機是什麼牌子 瀏覽:394
java非同步web 瀏覽:270
51單片機讀tf卡 瀏覽:936
linux下獲取文件 瀏覽:318
加密文件電腦顯示無屏幕截取許可權 瀏覽:352
虛榮安卓用什麼充值 瀏覽:752
阿里雲沒有伺服器如何備案 瀏覽:706
python用戶特性總結 瀏覽:730
華為門鑰匙加密卡怎麼辦 瀏覽:921
南京解壓車要帶什麼 瀏覽:567
天堂2編譯視頻教程 瀏覽:397
伺服器沒有進程怎麼辦 瀏覽:789
阿里雲發布新物種神龍雲伺服器 瀏覽:64
數據結構遞歸演算法統計二叉樹節點 瀏覽:672
ev3怎麼編程 瀏覽:706
gzip壓縮教程 瀏覽:353
解壓模擬例子 瀏覽:989
流媒體伺服器如何實現視頻轉發 瀏覽:62