最新版本的会比较好一点,例子也比较清晰。shell
solr-4.10.4-src.tgz solr-4.10.4tgz solr-4.10.4.zip(5.2的dataimport没成功改用4.10.4)数据库
咱们下载的应该是基于jetty服务器的,不须要再拷贝到tomcat上发布了。并且在Windows或是Linux上均可以使用。apache
Start the Server 和经常使用的命令windows
windows下打开 bin 目录 shift + 鼠标右键 能够在此处打开命令窗口,执行tomcat
solr start -- 开启服务 solr start -f --在后台启动 solr start -p **** --以某端口启动 solr stop -p 8983 --中止solr必须指定端口号 solr -e teachproducts --你能够启动一个和例子同样的配置的solr服务 solr create -c <name> --建立一个不是和例子同样的配置的solr服务 solr -help --帮助菜单
solr服务开启后你就能够看到以下的页面:服务器
2. 初次使用Dataimportsqlserver
当咱们建立一个solr实例后,发现Dataimport是没法使用的。须要作以下三件事,可使Dataimport运行:url
打开solrconfig.xml,将 <dataDir>${solr.data.dir:}</dataDir> 填完整。好比个人solr实例对应的data位置为E:\solr-5.2.0\server\solr\myt\data , <dataDir>${solr.data.dir:E:\solr-5.2.0\server\solr\myt\data}</dataDir>spa
--仿照实例 追加 dataimport 的 requestHandler <requestHandler name="/dataimport" class="solr.DataImportHandler"> <lst name="defaults"> <str name="config">solr-data-config.xml</str> </lst> </requestHandler>
添加jar包:在实例目录下新建 lib 文件夹,把 须要的额外的jar包放进去,好比 :
solr-dataimporthandler-4.10.4 (负责创建索引的,) sqljdbc-4.0.2206.100 (链接数据库用的)
solr-data-config.xml内容以下:
<dataConfig> <dataSource driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" name="jdbc/myt" password="" type="JdbcDataSource" url="jdbc:sqlserver://localhost:1433;DatabaseName=" username=""/> <document name="commodity"> <entity name="item" query="select c.barcode as id,c.sid,c.barcode,c.title,c.is_circle,c.can_buy_now,c.solr_filter_type,cat.site_type, c.price,c.rank,c.bought_count,c.view_count,c.small_pic as md5, c.timelines,c.keywords,b.sid brand_sid,b.title brand_title,b.synonyms brand_synonyms,cat.category_code,cat.name category_name, c.commodity_status,c.created_dt from iyb_commodity c left join iyb_brand b on c.brand_sid=b.sid left join iyb_category cat on cat.sid=c.category_sid where c.rank > 0" deltaImportQuery="select c.barcode as id,c.sid,c.barcode,c.title,c.is_circle,c.solr_filter_type,cat.site_type,c.price,c.can_buy_now,c.rank,c.bought_count,c.view_count,c.small_pic as md5, c.timelines,c.keywords,b.sid brand_sid,b.title brand_title,b.synonyms brand_synonyms,cat.category_code,cat.name category_name,c.commodity_status,c.created_dt from iyb_commodity c left join iyb_brand b on c.brand_sid=b.sid left join iyb_category cat on cat.sid=c.category_sid where c.rank > 0 and barcode='${dih.delta.id}'" deltaQuery="select barcode as id from iyb_commodity where rank > 0 and (updated_dt > '${dih.last_index_time}' or created_dt > '${dih.last_index_time}')" deletedPkQuery="select barcode as id from iyb_commodity where rank <= 0 and updated_dt > '${dih.last_index_time}' union all select DISTINCT '${dataimporter.request.deleteById}' as id from iyb_commodity where not EXISTS(select 1 from iyb_commodity where barcode='${dataimporter.request.deleteById}') "> </entity> </document> </dataConfig>
这以后重启 solr 应该就能够进入 Dataimport 页面了。