0

我的两个客户正在评估设置搜索服务器 Solr 或 ElasticSearch。我们想知道运行搜索服务器需要哪些编程语言(如果有)和开发环境。可以由最熟悉前端技术(HTML/CSS/JavaScript)的人来完成,还是需要更严格的编码技能(例如理解多线程/高级调试/其他“专业级”概念)?

如果只需要简单的编程技能,我正在考虑建议自己设置它。除了前面提到的前端技术,我对 Java 知识很少,但对 C、ActionScript、Pascal 甚至Simula有基本的了解。我在FAST(企业搜索供应商)工作时就知道基本的搜索架构。

最好的,比约恩

4

4 回答 4

2

有点广泛的问题,但我会尝试试一试:

您不需要特别的任何编程语言。它们都是独立的服务器,具有可从任何编程语言寻址的 API。

  • ElasticSearch 有一个非常好的基于 JSON/REST 的 API。
  • SOLR 的 API 要笨重得多,但也支持 XML。

(如果我有一个选择,我倾向于选择 ElasticSearch,除非我需要一个真正专业的功能,它只在 SOLR 中)。

启动和运行并不特别需要任何编程语言的知识。

唯一需要 Java 的时候是当您决定最终需要 SOLR/ElasticSearch 本身的自定义插件时。

除了与您选择的编程语言相匹配的 IDE 之外,您不需要任何特定的 IDE。

当试图弄清楚我的 elasitc 搜索服务器内部发生了什么时,我确实喜欢弹性搜索 HEAD:

http://mobz.github.io/elasticsearch-head/

希望这可以帮助。

于 2013-09-04T14:57:06.677 回答
0

正如已经指出的那样,这是一个相当广泛的问题,很可能会被关闭。但我也会试一试。

ElasticSearch 和 Solr 都很容易上手。它们以 zip/tar.gz 存档的形式提供,您可以将其解压缩。

两者都需要 JVM,因此您需要 Java 设置。

设置完成后,使用其中任何一个都非常容易,您不需要任何高级编程技能即可使用它。Solr 带有一个管理 UI 页面,允许您执行查询。

正如@Constantijin 所指出的那样,Elastic Search 有客户。弹性头是一个很好的选择。

您将需要对 Lucene 生态系统、其架构、插件等有相当详细的了解。鉴于您对另一个搜索引擎有所了解,有关索引和文本处理的概念对您来说应该足够简单。

如果您想编写比 Admin UI 更高级的东西,您可以使用 Javascript。

  • 您可以使用AjaxSolr向 Solr 实例发出 ajax 请求
  • 对于 ElasticSearch,您可以尝试使用Elastic.js
于 2013-09-04T16:37:32.883 回答
0

Elasticsearch 是一个构建在 Apache Lucene™ 之上的开源搜索引擎,Apache Lucene™ 是一个全文搜索引擎库。Lucene 可以说是当今存在的最先进、高性能和功能齐全的搜索引擎库——包括开源和专有的。

然而,Elasticsearch 不仅仅是 Lucene,也不仅仅是“只是”全文搜索。也可以这样描述:

分布式实时文档存储,其中每个字段都被索引和可搜索

  • 具有实时分析功能的分布式搜索引擎
  • 能够扩展到数百台服务器和 PB 的结构化和
    非结构化数据

我想添加有关如何在 php 语言中使用 ElasticSearch 的更多详细信息,请查看 - http://www.multidots.com/what-is-elasticsearch

于 2015-07-31T06:27:45.243 回答
0

[如何将 ElasticSearch 与 PHP 集成?][1]

通过使用 curl,您可以将 ElasticSearch 与您最喜欢的编程语言一起使用。这是使用 ElasticSearch 的简单 curl 请求示例。

- PHP 示例脚本:

您可以在 github 上找到 PHP 客户端 api:

[ https://github.com/elastic/elasticsearch-php][2]

查看关于 Elasticsearch 的最佳文章 - http://www.multidots.com/what-is-elasticsearch

于 2015-07-31T06:33:16.283 回答