solr5.2.1怎么得到SolrServer实例,求各位大神指点迷津

solr5.2.1怎么得到SolrServer实例,求各位大神指点迷津,第1张

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()

}

}

当服务器关闭时。

通过构造函数实例化Servlet对象,当第一次浏览器向服务器发送请求,访问servlet,调用init方法进行初始化(servlet对象一般只有一个,会常驻内存)init方法只会调用一次,开启一个线程,去调用service方法,以后在访问这个servlet都会开启一个线程来调用service方法去处理请求操作,当服务器关闭时,会调用servlet的destroy方法将servlet实例销毁。

一般来说HttpContext对象是Web服务器来实例化的。

因为Web服务器才知道请求、响应、Session这些是什么。你要实例化,你如何知道这些?还得借助Web服务器给你的一个HttpContext对象的信息,那么你都有现成的HttpContext了,还用自己再实例化么?


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/479948.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-08
下一篇2023-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存