最近,我无意中听到几位同事在谈论一篇文章,其中一篇文章涉及使用索尔与数据库和应用程序一起为应用程序本身提供“超级收费”文本搜索引擎。据我所知,SOLR是一个web服务,它将卢塞尼氏文本搜索功能公开给一个支持web的应用程序。
我找不到他们谈论的那篇文章,但是做一些相关的Google搜索会在使用SOLR的文本搜索引擎上出现几篇超级抽象的文章。
我想知道的是:这里的所有三个组件之间的关系是什么?
谁给谁打电话?Lucene是否有规律地从DB中提取和缓存文本数据,然后应用程序查询SOLR以获取Lucene的文本内容?基于Java的、基于SOLR的文本搜索引擎的典型软件栈/设置是什么?提前感谢!
发布于 2013-04-26 17:12:44
您的基本大纲如下: SOLR是位于Lucene之上的一个webservice和语法助手。
实质上,SOLR被配置为基于许多配置选项(包括加权、字符串操作等)索引特定数据。SOLR可以指向DB作为其索引的数据源,也可以通过web提交单个文档(例如,XML文件)进行索引。
web应用程序通常会向SOLR发出HTTP请求,SOLR将返回与查询匹配的索引数据。出于各种目的和目的,web应用程序将SOLR视为HTTP;它不需要以任何方式了解Lucene。因此,从本质上讲,数据流看起来是:
Website --> SOLR API --> indexed datasource (DB or document collection)在“当”SOLR查看DB以索引新数据或更新数据时,可以通过多种方式对其进行配置,但通常是通过调用导致重新索引的SOLR的特定函数来触发的。这可能是手动发生的,通过计划的作业,从web应用程序编程等。
发布于 2013-04-26 17:15:23
当我开始为我的项目实现它时,我就是这样理解的-
您可以参考阿帕奇索尔站点获得更多信息。
https://stackoverflow.com/questions/16241645
复制相似问题