首页 > 其他 > 详细

1.7.4.1 Function Queries

时间:2015-03-11 19:30:36      阅读:158      评论:0      收藏:0      [点我收藏+]

1 . Function Queries

   函数查询使你可以使用一个或者多个数字字段的实际的值生成一个关联的得分(score),函数查询支持DixMax,eDisMax,标准的查询解析.

   函数查询使用函数,函数可以是常量(数字或字符文字),一个字段,另一个函数,一个替换参数的参数.也可以使用这个函数修改结果排序.

  这里有三个主要的函数查询方式:

  • 使用_val_关键字引入函数查询:
_val_:mynumericfield _val_:"recip(rord(myfield),1,2,3)"
  • 使用具有明确函数查询类型的参数,如DisMax查询解析器的bf(boost function)参数.注意bf参数实际上使用了空格分隔的函数查询列表.
    q=dismax&bf="ord(popularity)^0.5 recip(rord(price),1,1000,1000)^0.3"
  • 添加函数查询的结果作为一个文档的字段:
    &fl=sum(x, y),id,a,b,c,score

    输出结果:

...
<str name="id">foo</str>
<float name="sum(x,y)">40</float>
<float name="score">0.343</float>
...

 

  只有随机快速访问功能推荐使用.

1.1 abs

  描述:返回指定值或者函数的绝对值

  语法例子:abs(x)  abs(-5)

  

1.2 and

  描述:当且仅当它的两个操作都是true时,返回true

  语法例子: and("blue","sky")

1.3 constant

  描述: 指定一个浮点值常量

  语法例子: 1.5   或者 _val_:1.5

1.4 def

  描述:default的简称.返回字段的值,如果字段不存在时,返回指定的值;并且在 exists()==true的地方生成第一个值.

  语法例子: def(rating,5)  ,def(myfield, 1.0)等价于if(exists(myfield)myfield,1.0) 

1.5 div

  描述:

  语法例子: 

1.4 def

  描述:

  语法例子: 

1.4 def

  描述:

  语法例子: 

1.4 def

  描述:

  语法例子: 

1.4 def

  描述:

  语法例子: 

1.4 def

  描述:

  语法例子: 

1.4 def

  描述:

  语法例子: 

1.4 def

  描述:

  语法例子: 

1.4 def

  描述:

  语法例子: 

1.4 def

  描述:

  语法例子: 

1.4 def

  描述:

  语法例子: 

1.4 def

  描述:

  语法例子: 

1.4 def

  描述:

  语法例子: 

1.4 def

  描述:

  语法例子: 

1.4 def

  描述:

  语法例子: 

1.4 def

  描述:

  语法例子: 

 

1.7.4.1 Function Queries

原文:http://www.cnblogs.com/a198720/p/4330552.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!