當前位置:首頁 » 雲伺服器 » solr伺服器搭建

solr伺服器搭建

發布時間: 2022-02-01 18:55:56

⑴ 如何向solr伺服器提交大日誌文件

java代碼 041424344public static void main(String[] args) { try { //Solr cell can also index MS file (2003 version and 2007 version) types. String fileName = "c:/Sample.pdf"; //this will be unique Id used by Solr to index the file contents. String solrId = "Sample.pdf"; indexFilesSolrCell(fileName, solrId); } catch (Exception ex) { System.out.println(ex.toString()); } } /** * Method to index all types of files into Solr. * @param fileName * @param solrId * @throws IOException * @throws SolrServerException */ public static void indexFilesSolrCell(String fileName, String solrId) throws IOException, SolrServerException { String urlString = "localhost:8983/solr"; SolrServer solr = new CommonsHttpSolrServer(urlString); ContentStreamUpdateRequest up = new ContentStreamUpdateRequest("/update/extract"); up.addFile(new File(fileName)); up.setParam("literal.id", solrId); up.setParam("uprefix", "attr_"); up.setParam("fmap.content", "attr_content"); up.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true); solr.request(up); QueryResponse rsp = solr.query(new SolrQuery("*:*")); System.out.println(rsp); }

⑵ solr 能幹什麼

Solr是一個獨立的企業級搜索應用伺服器,它對外提供類似於Web-service的API介面。用戶可以通過http請求,向搜索引擎伺服器提交一定格式的XML文件,生成索引;也可以通過Http G Solr
et操作提出查找請求,並得到XML格式的返回結果

⑶ solr部署在weblogic上,項目中做增刪改查,每次都要重啟solr才行,不報錯,在本地好的,伺服器上就不行了

看下配置文件是否出問題了

⑷ solr5.2.1怎麼得到SolrServer實例,求各位大神指點迷津

SolrServer實例化類型有httpClient,和本地化,如果Solr伺服器不在本地就用httpClient,在本地就用EmbeddedSolrServer
SolrServer可以操作索引,包括更新刪除查詢等操作
以下是httpClient實例化方式,需要tomcat運行Solr服務
1、ConcurrentUpdateSolrServer實例化SolrServer,該類實例化多用於更新刪除索引操作

ConcurrentUpdateSolrServer(String solrServerUrl, int queueSize, int threadCount)

solrServerUrl是Solr伺服器的地址,

queueSize緩沖區大小

threadCount 後台線程數<br><br>

2、HttpSolrServer 實例化SolrServer,該類實例化多用於查詢操作

HttpSolrServer(String baseURL)

baseURL是Solr的伺服器地址

3、LBHttpSolrServer實例化SolrServer,用於有多個Solr伺服器,負載均衡

LBHttpSolrServer(String... solrServerUrls)

solrServerUrls是多個Solr的伺服器地址,用,號分隔
以下是本地實例化,即項目包含Solr服務,不需要tomcat運行Solr服務
EmbeddedSolrServer

private static CoreContainer.Initializer initializer = null;
private static CoreContainer coreContainer = null;
private static EmbeddedSolrServer server = null;
static {
try {
System.setProperty("solr.solr.home", "D://test//solrcore//core0");
initializer = new CoreContainer.Initializer();
coreContainer = initializer.initialize();
server = new EmbeddedSolrServer(coreContainer, "");
} catch (Exception e) {
e.printStackTrace();
}
}

⑸ 對於solr都用過哪些功能,solr集群主要是怎麼搭建的

假設每台伺服器上部署一個mysql實例,那你怎麼把數據分布到3個mysql裡面?是每個mysql裡面存不同的表么?如果這樣,就還可以接受。這塊問題不是很大。第二個問題,你的HA主備,意思是說兩個分布式互為主備?那怎麼備份,怎麼切換?其實按照你想要達到的目標。應該是每兩台互做主備,形成3對主備庫,然後這3對再組建一個分布式集群。

⑹ 如何在linux中啟動solr

1.2. tomcat調優

調優tomcat 加大內存和連接數
MaxThread 500
MinSpareThread 25
MaxSpareThread75
Xmx 1024M

1.3. 操作系統網路參數優化

用做測試的各台伺服器,均在/etc/sysctl.conf配置文件中增加如下內核參數:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 5

1.4. 下載solr

下載地址:http://lucene.apache.org/solr/
詳情請見:http://lucene.apache.org/solr/

2. 安裝過程

2.1. 安裝tomcat6

安裝完tomcat後修改./conf/server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
註:如果沒有設置URIEncoding="UTF-8",在提交查詢的select的url會出現亂碼,當然也就查不到了。

2.2. 拷貝solr.war
將下載的solr包下面的dist文件夾中的apache-solr-1.4.1.war 拷貝到 tomcat的webapps 並且改名為 solr.war 一般情況下會自動生成相應的文件夾。

2.3. 拷貝其它

新建/opt/solr-tomcat/solr文件夾,把下載的solr包中的example/solr文件夾下面的所有文件放入到/opt/solr-tomcat/solr裡面。

2.4. 配置solr.home
最後一步 配置添加solr.home環境變數,可以有二種方式(兩種取其一即可):

a)基於環境變數

linux在當前用戶的環境變數中(.bash_profile)或在./bin/catalina.sh中添加如下環境變數:
export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/opt/solr-tomcat/solr"

b)基於JNDI

在tomcat的conf文件夾建立Catalina文件夾,然後在Catalina文件夾中在建立localhost文件夾,在該文件夾下面建立 solr.xml,Xml代碼:

<Context docBase="/usr/local/tomcat6/webapps/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="Java.lang.String" value="/opt/solr-tomcat/solr" override="true" />
</Context>

註:如果沒有設定solr.solr.home環境變數或JNDI的情況下,Solr查找./solr,因此在啟動時候需要切換到/opt/solr-tomcat

3. 驗證安裝

訪問solr管理界面 http://ip:port/solr

3.1. 打開管理後台

打開瀏覽器,輸入:http://192.168.10.85:18080/solr/admin/
(註:多核心時為這個地址http://192.168.10.85:18080/solr/,首頁會列出多核的鏈接,點擊進入),就可以訪問solr服務了

3.2. 如果出現如下圖示,表示配置成功

⑺ 什麼樣的網站需要solrcloud嗎

現在我們來剖析下這樣一個簡單的集群構建的基本流程:
先從第一台solr伺服器說起:
1) 它首先啟動一個嵌入式的Zookeeper伺服器,作為集群狀態信息的管理者,
2) 將自己這個節點注冊到/node_states/目錄下
3) 同時將自己注冊到/live_nodes/目錄下
4)創建/overseer_elect/leader,為後續Overseer節點的選舉做准備,新建一個Overseer,
5) 更新/clusterstate.json目錄下json格式的集群狀態信息
6) 本機從Zookeeper中更新集群狀態信息,維持與Zookeeper上的集群信息一致
7)上傳本地配置文件到Zookeeper中,供集群中其他solr節點使用
8) 啟動本地的Solr伺服器,
9) Solr啟動完成後,Overseer會得知shard中有第一個節點進來,更新shard狀態信息,並將本機所在節點設置為shard1的leader節點,並向整個集群發布最新的集群狀態信息。
10)本機從Zookeeper中再次更新集群狀態信息,第一台solr伺服器啟動完畢。
然後來看第二台solr伺服器的啟動過程:
1) 本機連接到集群所在的Zookeeper,
2) 將自己這個節點注冊到/node_states/目錄下
3) 同時將自己注冊到/live_nodes/目錄下
4) 本機從Zookeeper中更新集群狀態信息,維持與Zookeeper上的集群信息一致
5) 從集群中保存的配置文件載入Solr所需要的配置信息
6) 啟動本地solr伺服器,
7) solr啟動完成後,將本節點注冊為集群中的shard,並將本機設置為shard2的Leader節點,
8) 本機從Zookeeper中再次更新集群狀態信息,第二台solr伺服器啟動完畢。
示例2,包含2個shard的集群,每個shard中有replica節點

⑻ 安裝solr是報錯405怎麼解決

產生這個錯誤是由於IIS安裝了WebDAV模塊刪除WebDAVMole與WebDAVHanlder,上傳時會返回404錯誤,通過瀏覽器訪問路徑nuget/Packages也是404錯誤。查看IIS日誌發現nugetpush實際執行的是HTTPPUT操作——PUT/api/v2/package/,WebDAV不允許這個操作。根據網上的說法,必須要卸載WebDAV,可是這台伺服器上有一個站點需要它,後來將NuGetServer安裝到另外一台伺服器解決了這個問題。

⑼ solr+tomcat如何配置

tomcat配置數據源solr使用數據源

1、tomcat中配置數據源(註:需要拷貝jdbc相關jar包到tomcat中。tomcat6.x/lib目錄下,注意tomcat6.0以下的版本在tomcat5.x/common/lib/目錄下)
在server.xml文件,找到「Engine-> Host -> Context」,在其下面配置主要針對某一項目的數據源使用。
在context.xml文件,找到「Context」,在其下面配置可以讓所有項目使用。

在Context下面配置數據源如下:
<Resource driverClassName="oracle.jdbc.driver.OracleDriver" maxActive="1000" maxIdle="30" maxWait="-1" name="jdbc/orcl" password="bb" type="javax.sql.DataSource" url="jdbc:oracle:thin:@127.0.0.1:1521:orcl" username="aa"/>

數據源相關參數說明:
<Resource
name="jdbc/bookstore" //這里的名字隨便起,後面要用到
auth="Container" //auth有兩個值可選「Application」和「Container」
type="javax.sql.DataSource" //指定資源所屬的Java類的完整限定名
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
//這里僅為SqlServer2005的驅動類名
//如果為SqlServer2000:com.microsoft,sqlserver,jdbc,SQLServerDriver
url="jdbc:sqlserver://localhost:1433;DataBaseName=bookstore"
username="sa"
//登錄名
password="000000"
//登錄密碼
maxActive="100"
//指定在連接池中資料庫連接的最大數目,設為0表示無限制
maxIdle="30"
//指定在連接池中保留的空閑的資料庫連接的最大數目,設為0表示無限制
maxWait="1000"/>
//指定等待一個資料庫連接成為可用狀態的最大時間,以毫秒為單位,設為-1表示無限制。
2、solr使用配置好的數據源
db-data-config.xml文件配置如下內容:
<dataSource name="ds-1" jndiName="java:comp/env/jdbc/orcl" type="JdbcDataSource" batch-size="1000" />
注意:「jdbc/orcl」為已配置的數據源名。如果是在tomcat中配置的數據源則jndiName,需要在你配置的數據源名前加「java:comp/env」。在其他容器中配置不用加此內容。
3、solr直接配置資料庫連接
db-data-config.xml文件配置如下內容:
<dataSource name="ds-1" type="JdbcDataSource" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@127.0.0.1:1521:orcl" user="aa" password="bb" />

注意:如果應用伺服器上未安裝oracle客戶端,連接資料庫服務url寫法如下:
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))
說明「192.168.1.100」資料庫伺服器ip,「orcl」資料庫oid

熱點內容
單片機android 發布:2024-09-20 09:07:24 瀏覽:764
如何提高三星a7安卓版本 發布:2024-09-20 08:42:35 瀏覽:663
如何更換伺服器網站 發布:2024-09-20 08:42:34 瀏覽:310
子彈演算法 發布:2024-09-20 08:41:55 瀏覽:288
手機版網易我的世界伺服器推薦 發布:2024-09-20 08:41:52 瀏覽:816
安卓x7怎麼邊打游戲邊看視頻 發布:2024-09-20 08:41:52 瀏覽:161
sql資料庫安全 發布:2024-09-20 08:31:32 瀏覽:93
蘋果連接id伺服器出錯是怎麼回事 發布:2024-09-20 08:01:07 瀏覽:506
編程鍵是什麼 發布:2024-09-20 07:52:47 瀏覽:657
學考密碼重置要求的證件是什麼 發布:2024-09-20 07:19:46 瀏覽:480