gpt4 book ai didi

java - 文本搜索引擎中 SOLR 与 DB 和应用程序的关系

转载 作者:行者123 更新时间:2023-12-01 14:38:29 26 4
gpt4 key购买 nike

我最近无意中听到一些同事谈论他们中的一个人读过的一篇涉及 SOLR 的使用的文章。与数据库和应用程序相结合,为应用程序本身提供“ super 强大”的文本搜索引擎。据我所知,SOLR 是一个公开 Lucene's 的 Web 服务支持网络的应用程序的文本搜索功能。

我无法找到他们正在谈论的文章,​​但进行一些相关的 Google 搜索后,使用 SOLR 在文本搜索引擎上找到了几篇 super 抽象的文章。

我想知道的是:这三个组件之间有什么关系?

谁给谁打电话? Lucene 是否以某种方式定期从 DB 中提取并缓存文本数据,然后应用程序查询 SOLR 以获取 Lucene 的文本内容?基于 Java、SOLR 驱动的文本搜索引擎的典型软件堆栈/设置是什么?提前致谢!

最佳答案

您的基本概述是正确的:SOLR 是一个位于 Lucene 之上的 Web 服务和语法帮助器。

本质上,SOLR 被配置为基于许多配置选项(包括加权、字符串操作等)对特定数据进行索引。SOLR 可以指向数据库作为其要索引的数据源,也可以指向单个文档(例如,XML 文件)可以通过 Web API 提交以进行索引。

Web 应用程序通常会向 SOLR API 发出 HTTP(s) 请求,SOLR 将返回与查询匹配的索引数据。出于所有意图和目的,Web 应用程序将 SOLR 视为 HTTP API;它不需要以任何方式了解 Lucene。本质上,数据流如下所示:

Website --> SOLR API --> indexed datasource (DB or document collection)

就 SOLR“何时”查看数据库以索引新数据或更新数据而言,可以通过多种方式进行配置,但最通常是通过调用导致重新索引的 SOLR API 的特定函数来触发。这可以通过预定作业、通过网络应用程序以编程方式手动进行等。

关于java - 文本搜索引擎中 SOLR 与 DB 和应用程序的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16241645/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com