`
san_yun
  • 浏览: 2639158 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

solr的函数查询_FunctionQuery_总结

    博客分类:
  • solr
 
阅读更多

作用

函数查询的作用,是影响计算score的算法,并不替换,只是影响。普通的计算score的方法是lucene本身的算法。

描述如下:

A function query allows you to introduce a component of the score that is computed,
based on a mathematical expression of your choice involving indexed field value(s).
This is not a replacement for Lucene's scoring algorithm, but it basically adds to the
existing score.

 

可见 函数查询 这个名字并不好,如 《Solr 1.4 Enterprise Search Server》中所述:

A bad name for this feature
The name of this feature is poor as it does not reflect what it does.
Perhaps Scoring Function or even Score Query might have been
bette
r. The reason for the name Function Query undoubtedly stems
from the manner in which the feature is implemented. It is implemented
as a Lucene Query type, albeit a very strange one that matches all of the
documents but scores them differently.

 

本质:

增加一个查询字段,值为函数计算所得。

可以简单这么理解 score += 函数计算结果

本来score是lucene根据字段的查询得到的,比如查询字符串 comments:套餐  lucene根据具体索引情况计算得到score值。

现在模拟一个字段,规定叫做_val_,这个字段的值就是跟随的函数计算的结果。

例子 comments:套餐 && _val_:"div(age,status)"

 

用法

用法wiki里有好几种,严格来说4种,详细请看wiki。

现在的刚刚发布solr3.1(同步了lucene的版本),这些功能我并没有用过。但1.4中的有些用法有bug。

可以的用法:

q=comments:套餐 && _val_:"div(age,status)"

注意函数就是一个表达式,所以函数也是可以嵌套的~

 

 

 

 

其他的,不再重复solr的wiki中的内容,仅仅贴出链接。

函数查询的中文翻译版(不太全):http://www.iteye.com/topic/352191

函数查询的wiki版(全而新)      :http://wiki.apache.org/solr/FunctionQuery#Using_FunctionQuery

一个好例子,仔细看哦~~          :http://www.ibm.com/developerworks/cn/java/j-spatial/

分享到:
评论

相关推荐

    es与solr的区别_solr_ES_es与solr的区别_elasticsearch_

    2. **Solr**:拥有更强大的查询优化能力,支持更复杂的查询表达式。SolrCloud 提供了分布式处理,同时支持多种数据类型,包括XML、JSON、CSV等。 **四、社区支持** 1. **Elasticsearch**:作为相对较新的技术,...

    solr_Tomcat_lib包

    在搭建Solr环境时,`solr_Tomcat_lib`包扮演了关键角色,因为它是Solr在Tomcat容器中运行所需的库文件集合。 首先,让我们详细了解`lib`目录。这个目录通常包含Solr运行所必需的各种JAR文件,这些文件主要分为以下...

    solr_solr_lucene_

    Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一...

    solr-config_solrj-demo.rar_DEMO_solr_solr的j

    总之,"solr-config_solrj-demo.rar_DEMO_solr_solr的j"这个DEMO是一个全面了解和实践Solr配置及SolrJ使用的宝贵资源,它将引导你逐步掌握如何在实际项目中有效地运用Solr进行全文检索和数据分析。通过深入学习和...

    solr_solr_

    Solr,全称为Apache Solr,是一款开源的企业级搜索平台,由Apache软件基金会维护。它基于Java,并且是Lucene库的一个高级搜索应用。Solr主要用于处理和索引大量文本数据,提供高效的全文检索、拼写检查、命中高亮、...

    ikanalyzer-solr8.4.0_solr8_solr_ikanalyzer_中文分词_

    ikanalyzer 对中文字符进行分词,确保了中文文本在索引和查询时的准确性和效率。 ikanalyzer-solr8.4.0 包含了与 Solr 8.4.0 版本兼容的 ikanalyzer 配置和类库。在使用这个包时,我们需要将其正确地集成到 Solr 的...

    solr_3_2_0-doc-8.11.2-1.el7.noarch.rpm

    solr_3_2_0-doc-8.11.2-1.el7.noarch

    solr_3_2_0-server-8.11.2-1.el7.noarch.rpm

    solr_3_2_0-server-8.11.2-1.el7.noarch

    solrCloud5.2.1 + tomcat7 + zookeeper3.4.6

    复制`tomcat7_ser1`和`solr_home_1`,分别命名为`tomcat7_ser2`、`tomcat7_ser3`及`solr_home_2`、`solr_home_3`。 2. 修改各`tomcat7_ser*`的`server.xml`,配置对应的`solrhome*`和端口信息,如: - `tomcat7_...

    solr_v440_5001+zookeeper2181

    在每个Solr节点上,我们需要配置solr.in.sh(在Unix/Linux系统中)或solr.in.cmd(在Windows系统中),设置`SOLR_HOME`、`JAVA_OPTS`等环境变量,并指定ZooKeeper集群的位置。 3. **启动SolrCloud**:启动每个Solr...

    solr_5.0_tomcat7_IKAnalyzer中文分词安装及demo

    在这个"solr_5.0_tomcat7_IKAnalyzer中文分词安装及demo"的压缩包中,你将找到如何在Solr 5.0中集成IKAnalyzer并进行演示的详细步骤。 首先,我们需要了解Solr与IKAnalyzer的集成过程: 1. **下载和解压**:获取...

    solr_3.5_配置及应用

    5. **自定义插件**:Solr 允许开发人员编写自定义插件,如查询解析器、过滤器、排序函数等,以满足特定需求。 6. **分布式搜索**:通过配置多个 Solr 核心,可以实现分布式搜索,处理大规模数据并提高性能。 在...

    apache-solr-1.4.0.zip_apache-solr _apache-solr-1.4.0_apache-solr

    9. **性能优化**:Solr 1.4.0版本在索引构建和查询速度上都有一定的优化,通过缓存机制和查询优化策略来提升性能。 10. **国际化与本地化**:Solr支持多语言处理,包括对非拉丁字符集的支持,如中文、日文等,这...

    Solr_1.4_Enterprise_Search_Server.pdf

    本书由David Smiley和Eric Pugh共同编写,旨在帮助读者掌握如何利用Solr增强搜索体验,包括面向导航的分面搜索(faceted navigation)、结果高亮(result highlighting)、模糊查询(fuzzy queries)、排名评分(ranked ...

    Apache_solr_4_cookbook.pdf

    读者还将学习如何使用 Solr 的查询解析器、插件和扩展来增强搜索功能,并通过实际案例学习如何在应用程序中整合 Solr,解决常见的搜索相关问题。 除了技术细节和配置指导,《Apache Solr 4 Cookbook》也探讨了安全...

    ik-analyzer-solr-master_ik分词器_pocket7ce_源码_

    **总结** Ik Analyzer是Java世界中的一个强大中文分词工具,尤其在与Solr集成时,能显著提高搜索效率和准确性。"ik-analyzer-solr-master"版本专门针对Solr进行了优化,而"Pocket7ce"可能指的是一个定制版或分支,...

    solr服务器_solr_

    1. **索引**:索引是Solr处理数据的基础,它是对文档进行预处理后的结果,用于快速查询。Solr使用倒排索引技术,将文档中的每个词映射到包含该词的文档列表,大大提高了搜索速度。 2. **Core**:在Solr中,Core是一...

    solr_lxml_Example:演示 solr 和 lxml 的 python 代码

    solr_lxml_示例演示 solr 和 lxml 的 python 代码支持:Mac osx。 Python2.7 & python3.2 lxml 和 yaml 只为 Python2.7 & python3.2 编译示例可执行代码位于:/solr_lxml_Example/server/core 当任何应用程序启动时...

    Solr in Action_2014

    Solr in Action by Trey Grainger , Timothy Potter Book Description Publication Date: April 5, 2014 | ISBN-10: 1617291021 | ISBN-13: 978-1617291029 | Edition: 1 Summary Solr in Action is a ...

    solr文档solr文档

    1. **Solr的基本概念**:了解什么是索引、查询处理、分词器、过滤器、评分机制等核心概念,它们是构建Solr搜索系统的基础。 2. **安装与部署**:Solr的下载、解压、启动和停止过程,以及如何配置Solr服务器,包括...

Global site tag (gtag.js) - Google Analytics