Solr4.0 jetty安装 & 调试跟踪查询请求处理流程

it2022-05-09  36

1.下载安装启动solr

solr官网下载solr4.0安装包apache-solr-4.0.0.tgz和solr4.0源码apache-solr-4.0.0-src.tgz;

下载jetty-distribution-8.1.7.v20120910.zip,作为solr运行容器;

解压solr、jetty;

cd jetty-distribution-8.1.7.v20120910

vi etc/jetty.xml ,修改jetty.port端口;

java -Dsolr.solr.home=/home/jiawa.mj/solr/apache-solr-4.0.0/example/solr -jar start.jar & 启动jetty; solr.solr.home指定solr目录; 浏览器输入:http://10.232.11.86:8282/solr/#/ 

添加数据值solr:

cd apache-solr-4.0.0/example/exampledocs

vi post.sh 修改URL=http://localhost:8282/solr/update

sh post.sh *.xml

浏览器输入:http://10.232.11.86:8282/solr/select?indent=on&q=*:*

 

2.解压源码生成eclipse工程

下载apache-ant-1.8.4-bin.zip,解压,添加系统环境变量(solr官方使用ant编译打包)

如:ANT_HOME:C:\apache-ant-1.8.4     PATH:%ANT_HOME%\bin

ant -v 查看是否安装成功;

解压solr源码包:

cd apache-solr-4.0.0

ant -p #查看targets

ant ivy-bootstrap

ant eclipse #生成eclipse工程

使用eclipse导入工程

 

3.远程调试solr设置

启动jetty参数中添加:-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000 打开远程调试端口 停止jetty,重新启动:java -Dsolr.solr.home=/home/jiawa.mj/solr/apache-solr-4.0.0/example/solr -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000  -jar start.jar & eclipse中Debug Configuration配置远程调试,指定ip、port

于org.apache.solr.servlet.SolrDispatchFilter的doFilter函数添加断点

Debug

浏览器输入查询:http://10.232.11.86:8282/solr/select?q=*:*

执行进入到eclipse工程代码中

4.本地调试solr

修改org.apache.solr.client.solrj.StartSolrJetty,

System.setProperty("solr.solr.home", "solr/example/solr");

bb.setWar("solr/webapp/web");

debug

浏览器输入查询:http://127.0.0.1:8983/solr/select?q=*:*

执行进入到eclipse工程代码中

 

4.跟踪查询请求处理流程

 solr/webapp/web/WEB-INF/web.xml ->

<filter-mapping> <filter-name>SolrRequestFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping>

<filter> <filter-name>SolrRequestFilter</filter-name> <filter-class>org.apache.solr.servlet.SolrDispatchFilter</filter-class></filter>

于org.apache.solr.servlet.SolrDispatchFilter类的doFilter方法添加断点,跟踪solr处理流程;

主要执行流程如下:

 

 

 

转载于:https://www.cnblogs.com/majorgg/archive/2012/11/22/2761632.html


最新回复(0)