solr in action 第三章

document:

  每个document由一个或者多个域(field)组成,每个域都有自己的类型:string, text, etc. 理论上域的类型有无限多个,因为一个域的类型可以由零个或多个分析阶段组成的,这些步骤决定了该域如何被索引。

所有的域都要指定一个定义好的类型。

查询语法:

要求必须出现:

+ new +house

new AND house

可选term:

new house

new OR house

不能出现:

new house -rental

new house NOT rental

solr 默认操作:

OR 

设置: ?q=new house&q.op=OR 

          ?q=new house&q.op=AND

如果修改了默认的操作为AND,则q=new house,虽然没有显示使用逻辑与操作符,这将会要求这两个term同时出现。

也可以显示使用操作符来覆盖: q=new OR house

短语查询:

要求terms按照顺序同时出现: “new house”

solr(实际是lucene实现)通过索引查找文档的过程:
假如查询:new home

每个term将独立的在索引里进行查询

每一个term匹配的文档结构出来后,lucene会根据默认的操作符(AND, OR)关系进行结果的合并。

短语查询中用到的term position:

保存了term的位置

范围查询:

old:[18 TO 21]

title:[boat TO bout]

原文地址:https://www.cnblogs.com/ydxblog/p/5647610.html