Solr7.1---Getting Start

目前最新版的Solr是7.1.0

有个我还不清楚的地方是,为何5.5.X或者6.6.X版本还在更新,给我的感觉好像每一个大版本都有自己的维护团队。不管了。

首先-系统要求

JDK1.8+

 

解压Solr

~$ unzip -q solr-7.1.0.zip

~$ cd solr-7.1.0/

以SolrCloud模式启动

Unix或MacOS:bin/solr start -e cloud
Windows:bin\solr.cmd start -e cloud

进入目录-启动【Linux仅仅命令不同】

D:\>cd solr-7.1.0

D:\solr-7.1.0>bin\solr.cmd start -e cloud

Welcome to the SolrCloud example!

This interactive session will help you launch a SolrCloud cluster on your local
workstation.
To begin, how many Solr nodes would you like to run in your local cluster? (spec
ify 1-4 nodes) [2]:

这个时候直接回车Enter

Ok, let's start up 2 Solr nodes for your example SolrCloud cluster.
Please enter the port for node1 [8983]:

再Enter

Please enter the port for node2 [7574]:

Enter,后面直接出现这么一大段

Creating Solr home directory D:\solr-7.1.0\example\cloud\node1\solr
Cloning D:\solr-7.1.0\example\cloud\node1 into
   D:\solr-7.1.0\example\cloud\node2

Starting up Solr on port 8983 using command:
"D:\solr-7.1.0\bin\solr.cmd" start -cloud -p 8983 -s "D:\solr-7.1.0\example\clou
d\node1\solr"

Waiting up to 30 to see Solr running on port 8983
Started Solr server on port 8983. Happy searching!

Starting up Solr on port 7574 using command:
"D:\solr-7.1.0\bin\solr.cmd" start -cloud -p 7574 -s "D:\solr-7.1.0\example\clou
d\node2\solr" -z localhost:9983

Waiting up to 30 to see Solr running on port 7574
INFO  - 2017-11-03 09:37:54.245; org.apache.solr.client.solrj.impl.ZkClientClust
erStateProvider; Cluster at localhost:9983 ready

Now let's create a new collection for indexing documents in your 2-node cluster.

Please provide a name for your new collection: [gettingstarted]
Started Solr server on port 7574. Happy searching!

最后一段话:系统提示你创建一个用于索引数据的集合。因为Solr提供一些样本数据,我们不妨与教程一致,在控制台输入techproducts 然后回车。

techproducts
How many shards would you like to split techproducts into? [2]

然后会让你输入想分割到两个节点上的碎片数量。这里默认为2,就是均匀分割到两个节点上。【我们目前有两个节点,所以2就是平均分。如果我们建立三个节点,那么想要平均分就要输入3】。直接回车。

How many replicas per shard would you like to create? [2]

你想为每个碎片创建多少副本?【副本是用来故障切换的】这里默认2,回车

Please choose a configuration for the techproducts collection, available options
 are:
_default or sample_techproducts_configs [_default]

这里让我们选择一个配置。在本地我也找到了这两个目录

Solr有两个开箱即用的配置文件样本集,称为“configSet”。而索引集合必须有一个“ConfigSet”。它包括两个主要配置文件:

大家注意 sample_techproducts_configs ,它包括了我们定义的索引集合名称:techproducts。这个config包含了我们需要的示例数据。所以在控制台上输入sample_techproducts_configs并回车【可能会慢一点,耐心】:

sample_techproducts_configs
Created collection 'techproducts' with 2 shard(s), 2 replica(s) with config-set
'techproducts'

Enabling auto soft-commits with maxTime 3 secs using the Config API

POSTing request to Config API: http://localhost:8983/solr/techproducts/config
{"set-property":{"updateHandler.autoSoftCommit.maxTime":"3000"}}
Successfully set-property updateHandler.autoSoftCommit.maxTime to 3000


SolrCloud example running, please visit: http://localhost:8983/solr


D:\solr-7.1.0>

最后来访问:

http://localhost:8983/solr


Solr现在将运行两个“节点”,一个在端口7574上,一个在端口8983上。一个集合techproducts,两个分片集合,每个都有两个副本。【点击Cloud可见】

 


 到此Solr已经启动啦,可是还没有数据。下面来完成

 

加入数据

Linux:solr-7.1.0:$ bin/post -c techproducts example/exampledocs/*

Windows:D:\solr-7.1.0> java -jar -Dc=techproducts -Dauto example\exampledocs\post.jar example\exampledocs\*

结果:

D:\solr-7.1.0>java -jar -Dc=techproducts -Dauto example\exampledocs\post.jar exa
mple\exampledocs\*
SimplePostTool version 5.0.0
Posting files to [base] url http://localhost:8983/solr/techproducts/update...
Entering auto mode. File endings considered are xml,json,jsonl,csv,pdf,doc,docx,
ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log
POSTing file books.csv (text/csv) to [base]
POSTing file books.json (application/json) to [base]/json/docs
POSTing file gb18030-example.xml (application/xml) to [base]
POSTing file hd.xml (application/xml) to [base]
POSTing file ipod_other.xml (application/xml) to [base]
POSTing file ipod_video.xml (application/xml) to [base]
POSTing file manufacturers.xml (application/xml) to [base]
POSTing file mem.xml (application/xml) to [base]
POSTing file money.xml (application/xml) to [base]
POSTing file monitor.xml (application/xml) to [base]
POSTing file monitor2.xml (application/xml) to [base]
POSTing file more_books.jsonl (application/json) to [base]/json/docs
POSTing file mp500.xml (application/xml) to [base]
POSTing file post.jar (application/octet-stream) to [base]/extract
POSTing file sample.html (text/html) to [base]/extract
POSTing file sd500.xml (application/xml) to [base]
POSTing file solr-word.pdf (application/pdf) to [base]/extract
POSTing file solr.xml (application/xml) to [base]
POSTing file test_utf8.sh (application/octet-stream) to [base]/extract
POSTing file utf8-example.xml (application/xml) to [base]
POSTing file vidcard.xml (application/xml) to [base]
21 files indexed.
COMMITting Solr index changes to http://localhost:8983/solr/techproducts/update.
..
Time spent: 0:00:06.768

D:\solr-7.1.0>

 

 基本搜索

 访问:http://localhost:8983/solr/#/techproducts/query

 

点击Execute Query。开始查询,你会发现右边有好几条JSON数据。准确来说:是十条

右上角是发送的URL,你可以点击它,点击试试看

 

查询参数解释:

修改q为foundation,结果显示有四个命中。

将id放入fl中,再次查询,你会发现显示的字段只有id

 我们再改变p为electronics,有14个结果。

 

这种查询是在所有索引字段查询包括electronics字段的文档,如果想更精确一点,我们看到有一个cat字段,那么将p改为cat:electronics,意思为仅仅cat字段中包含electronics信息的数据。

可以看到,只有12条数据,更加精确了。

 

下面进行短语搜索

 p改为"multiple terms here",短语搜索必需加上双引号。

 

 

最后

 如果你希望删除此集合

D:\solr-7.1.0> bin\solr delete -c techproducts

 

注意:Linux的路径为/

 

停止启动的Solr

D:\solr-7.1.0> bin\solr stop -all

 

posted @ 2017-11-03 11:45  露娜妹  阅读(3839)  评论(0编辑  收藏  举报