Solr 查询 Hello World

前一篇文章(http://blog.csdn.net/span76/article/details/42079223) 试验了安装 Solr,这次来联系query

环境准备

启动一个 node

cd example

java -Dbootstrap_confdir=./solr/collection1/conf -Dcollection.configName=myconf -DzkRun -DnumShards=1 -jar start.jar

提交一篇文档

cd exampledocs

java -Durl=http://localhost:8983/solr/collection1/update -jar post.jar monitor.xml

就可以到  http://10.15.4.173:8983/solr/#/collection1/query  提交查询,看到如此多选项有点晕,没关系,直接提交就行了,可看到查询结果是一篇文档.

增加一篇文档

mv monitor.xml  monitor_a.xml

内容如下

<add><doc>
  <field name="id">S22B310B</field>
  <field name="name"></field>
  <field name="manu">Samsung, Inc.</field>
  <!-- Join -->
  <field name="manu_id_s">samsung</field>
  <field name="cat">electronics and computer1</field>
  <field name="features">21.5" TN LCD, 1920 x 180, .25mm dot pitch, 100000:1 contrast</field>
  <field name="includes">none</field>
  <field name="weight">401.6</field>
  <field name="price">779</field>
  <field name="popularity">6</field>
  <field name="inStock">true</field>
  <!-- Buffalo store -->
  <field name="store">23.17614,-20.57341</field>
</doc></add>

java -Durl=http://localhost:8983/solr/collection1/update -jar post.jar monitor_a.xml

再查询可以看到两篇文档\

参数试验

q参数

把 "*:*" 改为 "manu_id_s:dell",  查询只得 dell的 monitor文档, 这是精确匹配用 ell, delln,都不行

多重条件可以用 OR, AND, NOT (必须大写) 来连接比如: popularity:7 OR manu_id_s:dell

可以用 *,? 模糊匹配 popularity:* AND manu_id_s:de?l ,可以用 ()并包含函数,很像关系型数据库了

fq参数 (filter query)

在fq栏目 “price:[ * TO 1000]", 得到price 小于1000的 (注意  TO 一定要大写)

可以有多个fq

sort 参数

结果按升或降排序,比如: “price asc” 或 "price desc"

多个用逗号间隔,比如:popularity asc,price asc

fl 参数

需要返回的 field 比如

写price就只返回这一个字段,可以像sql一样用函数,比如  id,sum(price,popularity)

facet参数

facet.filed 写上 manu得到下面的结果

两篇文档的 manu如下,可见逗号是分割符号(空格不是),结果是统计(相当于count) 的文档数

"manu": "Dell, Inc.",

"manu": "Samsung, Inc.",

如果你改内容如下:

"manu":
"Samsung, Inc, Inc.",  结果是不变的

提交新字段

我把monitor.xml中的 price改为 price2,提交失败

要修改 vi ./solr/collection1/conf/schema.xml

加上下面这行才行,以告诉搜索引擎如何处理下面的行

<field name="price2"  type="float" indexed="true"
stored="true"/>

ref:

http://martin3000.iteye.com/blog/1330106

http://wiki.apache.org/solr/CommonQueryParameters#fl

http://www.cnblogs.com/huangfox/p/4043262.html

https://cwiki.apache.org/confluence/display/solr/Common+Query+Parameters

https://wiki.apache.org/solr/SimpleFacetParameters

https://cwiki.apache.org/confluence/display/solr/Faceting

时间: 2024-10-25 22:51:32

Solr 查询 Hello World的相关文章

Solr查询详解

一. 查询参数说明 在做solr查询的时候,solr提供了很多参数来扩展它自身的强大功能!以下是使用频率最高的一些参数! 1.常用 q - 查询字符串,这个是必须的.如果查询所有*:* ,根据指定字段查询(Name:张三 AND Address:北京) fq - (filter query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,例如:q=Name:张三&fq=CreateDate:[20081001 TO 20091031],找关键字mm,并且CreateDate是200810

solr与.net系列课程(四)solr查询参数的讲解与.net如何获取solr数据

solr与.net系列课程(四)solr查询参数的讲解与.net如何获取solr数据 上一节我们完成了solr连接数据库,细心的朋友会发现一个问题,就是solr其实和语言没有任何关系,配置完成后任何语言都可以直接调用,本章我们主要对solr的查询做出讲解,然后就是新接触的人最关心的.net如何获取solr中的数据. 本节我准备了一个300万左右的数据表,为大家做演示 然后我们开始配置schema.xml 文件: <field name="id" type="string

Solr学习总结(四)Solr查询参数

今天还是不会涉及到java和数据库操作,主要还是总结Solr 的查询参数,还是那句话,只有先明白了solr的基础内容和查询语法,后续学习solr 的java和数据库操作,都是水到渠成的事.这里先列出solr查询所需要的参数 wiki 地址:http://wiki.apache.org/solr/FrontPage, 里面有各个参数详细的介绍. 一.基本查询 q  查询的关键字,此参数最为重要,例如,q=id:1,默认为q=*:*, fl  指定返回哪些字段,用逗号或空格分隔,注意:字段区分大小写

solr 查询

solr 查询参数说明  常用 q - 查询字符串,必须的. fl - 指定返回那些字段内容,用逗号或空格分隔多个. start - 返回第一条记录在完整找到结果中的偏移位置,0开始,一般分页用. rows - 指定返回结果最多有多少条记录,配合start来实现分页. sort - 排序,格式:sort=<field name>+<desc|asc>[,<field name>+<desc|asc>]- . 示例:(inStock desc, price a

7.Solr查询参数

一.基本查询 q  查询的关键字,此参数最为重要,例如,q=id:1,默认为q=*:*, fl  (field list)指定返回哪些字段,用逗号或空格分隔,注意:字段区分大小写,例如,fl= id,title,sort start  返回结果的第几条记录开始,一般分页用,默认0开始 rows  指定返回结果最多有多少条记录,默认值为 10,配合start实现分页 sort  排序方式,例如price asc, id desc wt  (writer type)指定输出格式,有 xml, jso

Solr查询语法笔记

1.常用  q - 查询字符串,这个是必须的.如果查询所有*:* ,根据指定字段查询(Name:张三 AND Address:北京) fq - (filter query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,例如:q=Name:张三&fq=CreateDate:[20081001 TO 20091031],找关键字mm,并且CreateDate是20081001 fl - 指定返回那些字段内容,用逗号或空格分隔多个. start - 返回第一条记录在完整找到结果中的偏移位置,

solr查询语法(solr query)

1. CoreQueryParam查询的参数  1) q: 查询字符串,必须的. 2) q.op: 覆盖schema.xml的defaultOperator(有空格时用"AND"还是用"OR"操作逻辑),一般默认指定. 3) df: 默认的查询字段,一般默认指定. 4) qt: query type,指定查询使用的Query Handler,默认为"standard". 5) wt: writer type.指定查询输出结构格式,默认为"

solr查询域为空值的方法

例,我想查找内容字段content为空值的文档,看看文档有多少?执行如下查询. http://127.0.0.1:11100/solr/province/select?q=-(content:*)&wt=json&indent=true

Solr查询参数

引自:http://www.cnblogs.com/zhangweizhong/p/5056884.html 一.基本查询 q  查询的关键字,此参数最为重要,例如,q=id:1,默认为q=*:*, fl  指定返回哪些字段,用逗号或空格分隔,注意:字段区分大小写,例如,fl= id,title,sort start  返回结果的第几条记录开始,一般分页用,默认0开始 rows  指定返回结果最多有多少条记录,默认值为 10,配合start实现分页 sort  排序方式,例如id  desc 表

Solr自学笔记 2 —— Solr 查询,排序, 高亮

1.查询(Querying Data) --q 文档 fl 表示相应的属性 1) 内容: 搜索过程是通过带q参数的GET HTTP请求select URL.同时可以通过传递表示可选择的请求参数的数字给请求处理器来控制相应的返回信息.(You can pass a number of optional request parameters to the request handler to control what information is returned) 下面f1参数来控制相应的返回的属