Solr 使用
一、启动服务:
java -jar start.jar
后:打开 http://localhost:8983/solr/admin/
二、生成索引
java -jar post.jar solr.xml monitor.xml
上面的 xml文件是需要被索引的文件。
Updating index 的操作步骤是和这个相同的。
三、删除索引
方法一:指定唯一 id
java -jar post.jar "<delete><id>SP2514N</id></delete>"
方法二:删除 query 的索引
java -jar post.jar "<delete><query>name:DDR</query></delete>"
四、查询输出
请求代码 | 说明 |
q=video&fl=name,id | 查询 ’video’ ,输出 name ,id |
q=video&fl=name,id,score | 查询 ’video’ ,输出 name ,id Score 是得分因子, |
q=video&sort=price desc&fl=name,id | 按照价格 price 降序排序输出 |
|
|
|
|
Sample
1)
http://yourhost.tld:9999/solr/select?q=cat:electronics+Belkin&version=2.1&start=0&rows=2 &indent=on&fl=id+name+score
start=0 表示从符合条件查询结果集合的第一个开始输出
row=2 表示输出几个
2 ) The second document in the result set with debugging info (including its score explanation)
http://yourhost.tld:9999/solr/select?q=cat:electronics+Belkin&version=2.1&start=1&rows=1&indent=on&fl=id+name+score&debugQuery=on
3 )高亮显示
http://localhost:8983/solr/select/?stylesheet=&q=solr+xml&version=2.1&start=0&rows=10&indent=on&hl=true&hl.fl=features,sku&hl.snippets=3
高亮输出
- hl
- hl.fl
- hl.snippets
- hl.fragsize
- hl.mergeContiguous
- hl.requireFieldMatch
- hl.maxAnalyzedChars
- hl.alternateField
- hl.maxAlternateFieldLength
- hl.formatter
- hl.simple.pre/hl.simple.post
- hl.fragmenter
- hl.usePhraseHighlighter
- hl.regex.slop
- hl.regex.pattern
- hl.regex.maxAnalyzedChars
4) 分类检索
就是检索不是所有的类型,只是检索需要的的字段的中的信息。这样实际上就是实现了分类检索。
http://localhost:8983/solr/select/?q=sku:solr &version=2.2&start=0&rows=10&indent=on
5 )返回结果类型
http://localhost:8983/solr/select/?q=solr&version=2.2&start=0&rows=10&indent=on&wt=xslt &tr=example.xsl
返回 xslt
http://localhost:8983/solr/select/?q=solr&version=2.2&start=0&rows=10&indent=on&wt=json
返回 json
6) 使用Solr 进行如下的range query
http://localhost:8983/solr /select?q=queryStr&fq=x:[10 TO 100] AND y:[20 TO 300]
注:在有些个版本中,如本人用的2.2版本中,这个没有实现与的运算,结果是或的,下面那个url是可以的;
或者
http://localhost:8983/solr /select?q=queryStr&fq=x:[10 TO 100]&fq=y:[20 TO 300]
http://localhost:8983/solr /select?q= +x:[10 TO 100] +y:[20 TO 60]&fl=title
q= +x:[10 TO 100] +y:[20 TO 60](+ 表示与的意思)
E.g.
http://localhost:8983/solr/select/?q=*%3A*&rows=0&facet=on&facet.field=txt
You should get something back like this:
<response>
<responseHeader><status>0</status><QTime>2</QTime></responseHeader>
<result numFound="4" start="0"/>
<lst name="facet_counts">
<lst name="facet_queries"/>
<lst name="facet_fields">
<lst name="txt">
<int name="value">100</int>
<int name="value1">80</int>
<int name="value2">5</int>
<int name="value3">2</int>
<int name="value4">1</int>
</lst>
</lst>
</lst>
</response>