`

Solr:Key Solr concepts

    博客分类:
  • Solr
 
阅读更多

Document

A document, then, is a collection of fields that map to particular field types defined in a schema. Each field in a document has its content analyzed according to its field type, and the results of that analysis are saved into a search index in order to later retrieve the document by sending in a related query.

 

The inverted index

 

Graphical representation of using common Boolean query operators



 

Phrase queries and term positions



inverted index with term positions

 

Fuzzy matching

Fuzzy matching is defined as the ability to perform inexact matches on terms in the search index. 

  • wildcard searching someone may want to search for any words that start with a particular prefix
  • fuzzy searching or edit distance searching  may want to find spelling variations within one or two characters
  • proximity searching may want to match two terms within some maximum distance of each other.
  • range searching    search for terms that fall between known values.

-----------------------------------------------------------------------------------------------------------------------------------

Default similarity scoring algorithm


Normalization factors

  • FIELD NORMS   Field norms are calculated at index time and are represented as an additional byte per field in the Solr index. norm(t,d) = d.getBoost() • lengthNorm(f) • f.getBoost()
  • QUERY NORMS  t uses the sum of the squared weights for each of the query terms to generate this factor, which is multiplied with the rest of the relevancy score to normalize it. The query norm should not affect the relative weighting of each document that matches a given query.
  • COORD FACTOR  The idea behind the coord factor is that, all things being equal, documents that
    contain more of the terms in the query should score higher than documents that only match a few.

----------------------------------------------------------------------------------------------------------------------------------

Precision and Recall

  • Precision      The Precision of a search results set (the documents that match a query) is a measurement attempting to answer the question, “Were the documents that came back the ones I was looking for?”    #Correct Matches / #Total Results Returned   
  • Recall           Recall is answering the question:“How many of the correct documents were returned?”#Correct Matches / (#Correct Matches + #Missed Matches)

The critical difference between Precision and Recall: Precision is high when the results returned are correct; Recall is high when the correct results are present. Recall does not care that all of the results are correct. Precision does not care that all of the results are present.

The decision on how to best balance Precision and Recall is ultimately dependent upon your use case.

 

-------------------------------------------------------------------------------------------------------------------------------------

Searching at scale

 

The denormalized document

Central to Solr is the concept of all documents being denormalized. A denormalized document is one in which all fields are self-contained within the document, even if the values in those fields are duplicated across many documents.



 

 

While this denormalized document data model may sound limiting, it also provides a sizable advantage: extreme scalability. Because we can make the assumption that each document is self-contained, this means that we can also partition documents across multiple servers without having to keep related documents on the same server (because documents are independent of one another). This fundamental assumption of document independence allows queries to be parallelized across multiple partitions
of documents and multiple servers to improve query performance, and this ultimately allows Solr to scale horizontally to handle querying billions of documents. This ability to scale across multiple partitions and servers is called distributed searching.

http://box1:8983/solr/core1/select?q=*:*&shards=box1:8983/solr/core1,box2:8983/solr/core2,box2:8983/solr/core3

(Query Speed on N+1 indexes) = Aggregation Overhead + (Query Speed on N indexes)/(N+1)

 

  • 大小: 64.3 KB
  • 大小: 94.6 KB
  • 大小: 65.9 KB
  • 大小: 51.6 KB
  • 大小: 85.2 KB
  • 大小: 119.1 KB
分享到:
评论

相关推荐

    node-solr:Node.js 的 Solr 模块

    Node.js 的 Solr 模块参考Node.js: : Solr: : 使用npm test运行测试。 如果您没有在 127.0.0.1:8983 上运行 Solr,请编辑“test/common.js”。使用示例请参阅使用测试。 这是一个快速示例: var solr = require ( ...

    Linux上Solr的启动方式

    使用Solr内置的Jetty服务器启动Solr (1)借助X Shell上传solr的安装包到/usr/local/目录下,使用 tar -zxvf命令进行解压.  (2)使用内置的Jetty来启动Solr服务器只需要在example目录下,执行start.jar程序即可,...

    puppet-ispconfig_solr:在 IspConfig 环境中使用的 solr 包装器

    == 定义:ispconfig_solr::instance 这个定义是 solr::instance 的包装器。 它创建一个 solr 实例并配置它以在 IspConfig 环境中使用 == 参数: [ instance_name ] solr 实例的名称。 实例将被称为 solr-$...

    docker-solr:用于Solr的Docker构建,用于管理官方Docker Hub solr映像

    什么是Apache Solr:trade_mark:? Apache Solr具有高度的可靠性,可扩展性和容错性,可提供分布式索引,复制和负载平衡查询,自动故障转移和恢复,集中式配置等。 Solr为许多世界上最大的互联网站点提供搜索和导航...

    solr:Allegro Common Lisp与Solr的接口

    这是Allegro CL的Solr绑定。 Solr是来自Apache Lucene项目的开源自由文本索引/搜索平台。 有关详细信息,请参见以下URL。 该软件包允许Allegro CL应用程序与正在运行的Solr服务器通信,添加和删除文档以及运行查询以...

    solr -8.11.1.zip 文件

    solr -8.11.1.zip 文件

    lucene-solr:Apache Lucene和Solr开源搜索软件

    Solr: : 用Gradle构建 建筑Lucene 参见 。 建筑太阳能 首先,您需要设置开发环境(OpenJDK 11或更高版本)。 我们假设您知道如何获取和设置JDK-如果您不了解,那么我们建议您从开始并进一步了解

    docker-compose 构建以solr8.11.1为基础的含中文分词器的镜像

    以solr8.11.1为基础镜像,使用docker-compose构建含中文分词器的新的镜像 文件夹内含有docker-compose.yml脚本、Dockerfile脚本以及构建镜像所需中文分词器ik-analyzer-8.5.0.jar、所有扩展词和停用词相关的配置文件...

    solr5.4.0完整包

    Solr 依存于Lucene,因为Solr底层的核心技术是使用Lucene 来实现的,Solr和Lucene的本质区别有以下三点:搜索服务器,企业级和管理。...所以说,一句话概括 Solr: Solr是Lucene面向企业搜索应用的扩展。

    mir-solr:MIR SOLR配置

    "mir-solr:MIR SOLR配置"是一个与Solr相关的项目,可能涉及到在MIR(可能是某种特定的系统或框架)中集成和配置Apache Solr的细节。Apache Solr是一个开源的全文搜索引擎,常用于大数据量、高性能的搜索应用。在MIR...

    mod_search_solr:用于 Solr 支持的 Zotonic 模块

    它内置了 Solr:只需安装此模块即可。 设置完成后,Zotonic 会将其保存的每个资源推送到 Solr,以便可以查询数据库。 要将整个站点重新索引到 Solr,请按管理员中的“重建搜索索引”按钮。 安装 您需要为每个要为...

    java8看不到源码-ansible-role-solr:yauh.solr-用于设置Solr的Ansible角色

    看不到源码Solr 引导程序 设置 Solr 搜索平台的 Ansible 角色 要求 系统上需要有Java,推荐角色yauh.java8。 角色变量 以下变量可与 solr 角色一起使用: solr_source: http://apache.openmirror.de/lucene/solr # ...

    nodebb-plugin-solr:使用Apache Solr全文搜索NodeBB

    Solr搜索NodeBB : Solr(发音为“ solar”)是来自Apache Lucene项目的开源企业搜索平台。 它的主要功能包括全文搜索,命中突出显示,多面搜索,动态聚类,数据库集成以及丰富的文档(例如Word,PDF)处理。 此...

    Laravel-4-Solr:Apache Solr简单查询客户端

    Laravel 4 Apache Solr Laravel 4软件包提供了一个接口,用于通过其静态接口使用(查询) 。安装首先通过Composer安装此软件包。 编辑项目的composer.json文件,以要求davispeixoto/laravel-4-solr 。 "require": {...

    Solr:将solr与spring boot一起使用

    Spring Boot和Solr 在这个示例中,我们看到如何将spring boot与solr一起用作数据库: Sprint Boot平板电脑索尔我们要做的第一件事是在solr de vehicle中创建模式以保存车辆的信息。 使用此命令,我们将使用bash脚本...

    data_solr:CreateIndexBySolr

    本项目"**data_solr:CreateIndexBySolr**"聚焦于如何使用Solr的Java客户端库SolrJ来创建索引,并进行搜索操作。我们将深入探讨这个过程中的关键概念和技术细节。 首先,让我们了解**Solr**的基本概念。Solr是基于...

    cl-solr:用于 Common Lisp 的 Apache Solr API

    "cl-solr:用于 Common Lisp 的 Apache Solr API" 这个标题揭示了我们讨论的主题是一个名为 "cl-solr" 的软件库,它为 Common Lisp 编程语言提供了与 Apache Solr 的接口。Apache Solr 是一个流行的开源搜索引擎,...

    spring-data-solr:通过spring对solr数据的增删该查,进行封装

    **Spring Data Solr:通过Spring对Solr数据的增删改查封装** Spring Data Solr是Spring Data项目的一部分,它为Apache Solr搜索引擎提供了一种简单而强大的集成方式。Spring Data Solr允许开发者利用Spring框架的...

    solr:Apache Solr开源搜索软件

    阿帕奇·索尔(Apache Solr) Apache Solr是一个用Java编写并使用的企业搜索平台。 主要功能包括全文搜索,索引复制和分片以及结果分面和突出显示。在线文件此自述文件仅包含基本的安装说明。 有关更全面的文档,请...

    docker-solr:Xenit特定的Alfresco Solr映像

    Docker中的Solr Alfresco专用的Solr docker映像,与高于4.2的Alfresco版本兼容。 创建的图像 [ alfresco-solr1 ] = solr1图片,使用tomcat [ alfresco-solr4 ] = solr4图像,使用tomcat [ alfresco-solr6 ] =使用...

Global site tag (gtag.js) - Google Analytics