@xlx9765
2017-06-27T13:04:13.000000Z
字数 2884
阅读 218
本文的实验环境是solr搜索服务器(阿里云服务器)+本地solr-6.3.0分析环境.
首先通过命令行进入本地solr,然后启动示例techproducts
启动后如下显示
选择的core是techproducts。
然后可以进行query查询,得到查询的相应结果。
搜索流行度为5及以上的产品,结果按照inStock降序,在按照price升序,每页显示5个结果分页,结果内容包括name,price,features,popularity,结果为json格式。
流行度5及以上 popularity:[5 TO *]
升降序部分 inStock desc,price asc
分页部分 5
结果条目即fl部分 name,price,features,popularity
输出格式 json
url为:
http://localhost:8983/solr/techproducts/select?fl=name,price,features,popularity&fq=popularity:[5 TO *]&indent=on&q=iPod&rows=5&sort=inStock desc,price asc&wt=json
查询结果为
搜索价格在400以下且有库存的商品,popularity降序排列,搜索结果为name,price,features,score,json格式
价格400以下 price:[0 TO 400]
有库存 inStock:[0 TO *]
欢迎程度降序 popularity desc
url为
http://localhost:8983/solr/techproducts/select?fl=name,price,features,score&fq=inStock:[0 TO *]&fq=price:[0 TO 400]&indent=on&q=iPod&sort=popularity desc&wt=json
查询结果为
搜索制造商为Belkin的iPod部件,价格升序,返回结果为name,price,features,xml格式
manu=Belkin
price asc
url为
查询结果为
特征features字段中搜索“plays”,高亮,返回xml格式。
url为
http://localhost:8983/solr/techproducts/select?fq=features=plays&hl=on&indent=on&q=iPod&wt=xml
查询结果为
查询electronics有多少有货,多少没货。
url为
查询结果为:
如图显示每个部件名称及是否有货。
如图给出库存统计信息:
inStock true 10
inStock false 4
搜索价格为0-300,300-600,600以上的商品,按照cat进行分类,搜索结果显示name,price,manu,返回json数据。
通过Luke可视化界面我们可以看到cat记录16条,如下
共有两个类型electronics(12条)和currency(4条),如下:
所以我构造了两个查询,第一个指定cat为currency,url为
http://localhost:8983/solr/techproducts/select?facet.field=price&facet.query=price:[0 TO 300],price:[300 TO 600],price:[600 TO *]&facet=on&fl=name,price,manu&indent=on&q=currency&wt=json
返回结果为
第二个指定cat为electronics,url为
http://localhost:8983/solr/techproducts/select?facet.field=price&facet.query=price:[0 TO 300],price:[300 TO 600],price:[600 TO *]&facet=on&fl=name,price,manu&indent=on&q=electronics&wt=json
返回结果为
如图我们可以看到每个价格出现的次数。
创建movie内核
熟悉Documents字段内容。
创建films内核
通过schema API 方式新增字段name和initial_release_date,如下方式添加:
添加成功后如下显示
导入json格式的films数据
导入后生成如下索引
将索引导入luke
导入成功后显示如下
可看出每个字段的词频,百分比,编码格式。还可以看出索引中有7个fields,1100个documents,9709个terms。
查找所有Super hero的电影
url为
http://localhost:8983/solr/films/select?indent=on&q=Super hero&wt=json
统计各流派电影的数量
如图,Field选择genre,
然后会显示各流派电影数量
也可以使用分类查询
url为
http://localhost:8983/solr/#/films/query?q=%7B!term%20f%3Dgenre%7DAdventure%20Film
具体结果如下:
另外也可以单个流派进行查询,查看返回结果,如下
如图Drama 570条,与之前结果一致。
还可以通过Luke进行查询,如下
自建查询,查询Steven Soderbergh导演的电影,
url为
http://localhost:8983/solr/films/select?fl=name&indent=on&q=Steven Soderbergh&wt=json
返回结果为:
显示films简单搜索界面,如下:
新建内核restaurant,如下:
配置mmseg4j中文分词包,首先将如下两个jar包导入文件夹,jar包和文件路径如下显示:
在solr-6.3.0/server/solr下新建文件my_dic,并在managed-schema中添加如下代码:
显示如下:
可以对中文进行分词,分词包配置成功。
在schema中添加做如下修改,指定被索引字段为店名,地址,种类。
导入中文文档
样例搜索
查询位于金牛区的店,返回店名。
指定店名进行查询
查询卖水饺的店,返回店名,