首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文本搜索引擎中SOLR与DB与App的关系

文本搜索引擎中SOLR与DB与App的关系
EN

Stack Overflow用户
提问于 2013-04-26 17:02:35
回答 2查看 206关注 0票数 0

最近,我无意中听到几位同事在谈论一篇文章,其中一篇文章涉及使用索尔与数据库和应用程序一起为应用程序本身提供“超级收费”文本搜索引擎。据我所知,SOLR是一个web服务,它将卢塞尼氏文本搜索功能公开给一个支持web的应用程序。

我找不到他们谈论的那篇文章,但是做一些相关的Google搜索会在使用SOLR的文本搜索引擎上出现几篇超级抽象的文章。

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

谁给谁打电话?Lucene是否有规律地从DB中提取和缓存文本数据,然后应用程序查询SOLR以获取Lucene的文本内容?基于Java的、基于SOLR的文本搜索引擎的典型软件栈/设置是什么?提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-26 17:12:44

您的基本大纲如下: SOLR是位于Lucene之上的一个webservice和语法助手。

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

web应用程序通常会向SOLR发出HTTP请求,SOLR将返回与查询匹配的索引数据。出于各种目的和目的,web应用程序将SOLR视为HTTP;它不需要以任何方式了解Lucene。因此,从本质上讲,数据流看起来是:

代码语言:javascript
复制
Website --> SOLR API --> indexed datasource (DB or document collection)

在“当”SOLR查看DB以索引新数据或更新数据时,可以通过多种方式对其进行配置,但通常是通过调用导致重新索引的SOLR的特定函数来触发的。这可能是手动发生的,通过计划的作业,从web应用程序编程等。

票数 1
EN

Stack Overflow用户

发布于 2013-04-26 17:15:23

当我开始为我的项目实现它时,我就是这样理解的-

  • SOLR可以称为应用服务器和DB之间的中间人。SOLR由自己的服务器(jetty)组成,它将启动并侦听来自应用服务器的任何请求。
  • 应用程序服务器调用SOLR,为其提供模块名称和搜索模式
  • SOLR将输入一些xml配置文件,这些文件将告诉它,对于给定的模块名称,必须缓存(或索引)模式
  • SOLR可能正在使用Lucene的文本搜索功能来理解“搜索模式”,并从已经缓存/索引的数据中获得所需的结果。
  • SOLR 索引(完整或部分)可以手动执行(通过GET URL执行命令),也可以定期使用SOLR配置文件执行。

您可以参考阿帕奇索尔站点获得更多信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16241645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档