开源软件数据库调查——搜索引擎篇

首先

在调查OSS数据库时,我发现DB-Engines Ranking的前20名中有3个搜索引擎也排名其中。
考虑到我之前开发过REGZA和VARDIA的全文搜索引擎,并且近年来搜索引擎受到了很高的关注,所以我对这个领域的发展趋势很感兴趣。

因此,本次从许可证、支持、实施案例和社群的角度总结了各种开源搜索引擎。

OSS_DBRanking4SearchEngine.jpg

关于受调查的开源搜索引擎。

我对Elasticsearch、Solr和Sphinx这些开源搜索引擎进行了调查。

OSS_SearchEngineRanking.jpg

请参阅开源数据库调查关系型数据库篇、开源数据库调查NoSQL数据库篇以了解RDBMS和NoSQL数据库。

弹性搜索

Elasticsearch是一款开源的高可扩展全文搜索和分析引擎。它可以快速、准实时地存储、搜索和分析大量的数据。通常被用作增强复杂应用程序的搜索功能和要求的引擎/技术基础。它支持各种类型的搜索,如结构化、非结构化、地理信息和度量等。

它实现了使用有限状态转换器进行倒排索引以进行全文搜索,以及用于存储数值数据和地理数据的BKD树和用于分析的列存储。

基本信息

項目内容ホームページhttps://www.elastic.co/products/elasticsearch最新バージョンVersion: 6.5.4 (2018-12-19)開発言語Java動作環境Java 8以降が必要。Oracle JDKバージョン1.8.0_131以上のバージョンの使用を推奨しています。
参照 : Set up Elasticsearch
CPU:マルチコアのプロセッサを推進
メモリ:64GB以上を推奨。32GB及び16GBでも動作可
参照 : Hardware
OS:CentOS/RHEL 6/7, Oracle Enterprise 6/7, Ubuntu 14/16/18, SLES12, openSUSE, Debian 8/9, Windows Server 2012/2016
参照 : Support MatrixライセンスApache License Version 2.0
https://github.com/elastic/elasticsearch特徴HTTP WebインターフェイスとスキーマフリーのJSONドキュメントを備えており、さまざまなユースケースに対応できる分散型RESTful検索が可能です。スケーラビリティに優れたマルチテナント対応のフルテキスト検索エンジン機能を提供します。
Elasticsearchは、特に、検索速度や分析柔軟性に優れています。強力な検索機能をシンプルに利用でき、データ蓄積/分析/可視化環境を容易に構築できます。
高度なリアルタイム分析、大規模分散、高可用性、マルチテナンシー、全文検索、ドキュメント指向、スキーマフリー、RESTfulAPI、データ保護機能を特徴とします。
参照 : オープンソースの検索エンジン/Elasticsearchとは適している利用シーン大容量のデータをほぼリアルタイムで保存、検索、分析が必要なシステム
例えば、顧客が販売製品を検索できるオンラインWebストア、ログデータやトランザクションデータの解析。
参照 : Elasticsearchリファレンス [5.4] » 始めてみよう適していない利用シーントランザクションを必要とするようなシステム
参照 : Elasticsearchでアプリを作ってみた。~メリットとデメリットを考える

開發訊息

項目内容開発主体Elastic開発体制Contributor 943名。Contributor License Agreementを締結する必要有ります。参加企業Elasticリポジトリhttps://github.com/elastic/elasticsearch開発コミュニティ機能追加リクエストやバグレポートはGitHubのIssuesで話し合われます。
https://github.com/elastic/elasticsearch/issues開発コミュニティ活動状況月間 約240件のソースコード・コミット
https://github.com/elastic/elasticsearch/commits/master
月間issues更新 約200件
https://github.com/elastic/elasticsearch/issues

技术支持信息

項目内容コミュニティサポート各種フォーラムメーリングリストでサポートコミュニティ活動状況週間 240件のTopic投稿有り
https://discuss.elastic.co/c/elasticsearchサポート企業Elasticサポートメニュー/費用Elasticがサブスクリプションライセンスでサポートされている。価格は問い合わせ。
参照 : サブスプリクション
また国内のパートナー企業が導入、技術サポート
参照 : 国内パートナー企業一覧

历史

項目内容開発開始時期2010年 Shay Banonが開発開始開発の経緯2010年 Shay banonが最初のElasticsearchを開発しOSS化。「ユーザが、もっと簡単に、本当に欲しいものを手に入れられるように」をコンセプトに開発
2012年 Elastic社を設立。現在、32ヶ国に渡る開発者と、100ヶ国を超えるコミュニティのメンバーがいます。
参照 : Open Source Search & Analytics Elasticsearch最近のメジャーリリース履歴2017-11-15 Version 6.0.0 : Cross Cluster Searchなど
2017-12-01 Version 6.1.0 : Shrink Index API、composite aggregationなど
2018/01/08 Version 6.2.0 : SAMLサポート、Rank Evaluation APIなど
2018-06-13 Version 6.3.0 : X-Pack のデフォルト化、SQL 対応、Rollup、Java10 対応
2018-08-23 Version 6.4.0 : Kerberos 認証、FIPS 140-2 対応
2018-11-14 Version 6.5.0 : クロス・クラスター・レプリケーション、ODBC ドライバ、Java 11 対応
参照 : Release Notesリリース頻度年間 約35回 リリース
https://github.com/elastic/elasticsearch/releases

适用条件

項目内容適用システム日経電子版の記事検索、ソフトバンク システム基盤本部のIT運用管理など多数
参照 : 導入事例
AWS の Amazon Elasticsearch Service で利用
参照 : Amazon Elasticsearch Service の機能適用数
OEMパートナーが多数
参照 : OEM, MSP, and CSP Partners適用企業ソフトバンク、富士通、星野リゾート、マイクロソフト、日本経済新聞社、Lineなど
参照 : 導入事例

Solr 索尔

Solr是一个非常快速、受欢迎且开源的企业搜索平台,基于Apache Lucene。Solr具有高可靠性、可扩展性、容错性、分布式索引提供、复制、负载均衡查询、自动故障转移和恢复、集中配置等特点。

基本信息

項目内容ホームページhttp://lucene.apache.org/solr/最新バージョンVersion: 7.6.0 (2018-12-14)開発言語Java
参照 : The Apache Sofrware Foundation動作環境Java 8 以降が必要。JRE バージョン1.8以上のバージョンの使用を推奨しています。
OS : Linux, MacOS/OS X, Microsoft Windows
参照 : Solr System Requirements
CPU:マルチコアのプロセッサを推進
メモリ:2 – 16GB以上で動作可
ストレージ : 高速 HDD ( 10,000 RPM / SEC 以上 )または SSD
参照 : Solr: a High-level Overview for SysadminsライセンスApache License Version 2.0
https://github.com/apache/lucene-solr/blob/master/solr/LICENSE.txt特徴高度な全文検索能力、高負荷量の最適化、XML, JSON, HTTPのサポート、、総合的な管理者インタフェース、イージモニタリング、高スケーラブルとフォルトトレラント、イージコンフィグレーションでフレキシブルな適用、リアルタイムに近いインデクシング、拡張プラグイン・アーキテクチャを特徴とする。
参照 : Solr Features適している利用シーンインターネットのサイト検索システムをはじめ、企業内でのファイルサーバや多様なデータの検索や知識共有システム、図書館の検索システム、SaaS、SNS、広告配信システム、政府系機関システムなど
Apache Solr 事例紹介/サポートバージョン
部門の情報共有のためのスモールスタートから大規模なエンタープライズサーチやコンシューマ向け検索サービスにも対応します。
参照 : Solr of オープンソースソフトウェアの悩みを解決する適していない利用シーンJOIN、GROUP BY などのSQLのような複雑な検索ができない。ロールバックなどのトランザクション処理ができない。
solrを使う前に知っておくべき事

开发信息

項目内容開発主体Apache Software Foundation開発体制Solr は、上位プロジェクトである Apache Lucene Committee で開発されている。
PMC ( Project Management Committee ) Chair 1名 ( Cassandra Targett 氏 )、PMC Roster 50名, Committers 75名、Contoributors 273名
参照 : Apache Lucene CommitteeHow to Contribute to Solr参加企業Apache Software Foundationリポジトリhttps://git-wip-us.apache.org/repos/asf/lucene-solr.git開発コミュニティ開発者メーリングリストCommit 用メーリングリストを提供開発コミュニティ活動状況月間 約180件のソースコード・コミット
https://gitbox.apache.org/repos/asf?p=lucene-solr.git;a=shortlog

支持信息

項目内容コミュニティサポートユーザ用のメーリングリスト一般的なディスカッション用メーリングリストを提供コミュニティ活動状況メーリングリストに月間約 300件の投稿サポート企業多くの企業がサポートやコンサルタントを行っているようですが、国内では atilika、ロンウイットがサポート
参照 : Support for Solrサポートメニュー/費用例:ロンウイット の Solr サブスクリプション・パッケージ
バグフィックスパッチのご提供や回避策の提示、最適な解決策の提供
参照 : Solr サブスクリプション・パッケージ
サブスプリクション以外にもコンサルティングサービスやトレーニングもあります。
参照 : コンサルティングサービストレーニング

历史

項目内容開発開始時期2004年 CNET Networks が開発開始開発の経緯2004年 CNET Networks 社内プロジェクトで Yonik Seeley 氏が Web サイトの検索機能を開発
2006-01 CNET Networks は、Apache Software Foundation の Lucene プロジェクトにソースコードを OSS として寄贈
2008-09 分散検索機能を含んだ機能と性能を強化して、Solr 1.3 をリリース
2012-10 Solr Cloud 機能を含んだ Solr 4.0 をリリース
参照 : Intorduction Apache Solr最近のメジャーリリース履歴2015-04 5.0 日付範囲インデクシングのためDateRangeField追加、TransactionLog
2016-04 6.0 パラレルSQL、JDBCドライバ
2017-09 7.0 ReplicaType の追加、Auto-scaling、API が XML から JSON、Facetの改善
https://github.com/apache/lucene-solr/releasesリリース頻度年間 9回のリリース

适用情况 (shì

項目内容適用システム日本経済新聞社 : 英文メディアサイト Nikkei Asian Review
参照 : WEBSAS : 実績紹介
AWS の Amazon CloudSearch で使用されています。
参照 : Amazon CloudSearch よくある質問適用数WEBサイトを中心に多くの企業で使用されています。
参照 : PubulicServvers適用企業Goldman Sachs, Disney, Apple, CISCO, Netflix など
参照 : PubulicServvers

狮身人面像

Sphinx是一个简单设计的开源全文搜索服务器,涵盖了性能、关联性和集成性。请注意,它与Python文档生成器Sphinx不同。

基本情报:

項目内容ホームページhttp://sphinxsearch.com最新バージョンVersion: 3.1.1 (2018-10-17)開発言語C++
参照 : About Sphinx動作環境OS : 以下の OS をサポート

  • Linux 2.4.x, 2.6.x, 3.x (many various distributions)
  • Windows 2000, XP, 7, 8
  • FreeBSD 4.x, 5.x, 6.x, 7.x, 8.x
  • NetBSD 1.6, 3.0
  • Solaris 9, 11
  • Mac OS X

CPU : x86, x86_64, amd64, SPARC64, and ARM
参照 : Sphinx 2.3.2-beta reference manual

ライセンスSphinx 2系は製品ライセンスと GPL version 2 のデュアルライセンスです。
Sphinx 3系は現在、製品ライセンスのみです。
http://sphinxsearch.com/services/embedding/特徴バッチとリアルタイム・フルテキスト・インデックス、非テキスト属性をサポート、SQLデータベース・インデクシング(MySQL, PostgreSQL, Oracle, Microsoft SQL Server, SQLite, Drizzle などと連携)、非SQLストレージインデクシング、アプリケーションとの統合が簡単、複雑なフルテキスト検索、SQLが利用可能、分散検索などの特徴があります。
参照 : About Sphinx適している利用シーン動的な高速フルテキスト検索を必要とするシステムなど
Sphinx Case Studies適していない利用シーン情報がありませんでしたが、
トランザクションを必要とするようなシステムには向いていないと思われます。

开发信息

項目内容開発主体Sphinx Technologies開発体制GitHub の Contributors は 8名
参照 : Contributors : spinx search参加企業Sphinx Technologies
Sponsored and Custom development で参加企業を募集しています。リポジトリhttps://github.com/sphinxsearch/sphinx/
ただし、Sphinx 3.0 以上はソースコードを公開していない。開発コミュニティForumBugTrackerを提供開発コミュニティ活動状況3年間で 28 件の Pull Requests
Pull Requests : spinx search

支持信息

項目内容コミュニティサポートForum, Wiki, BugTrackerを提供コミュニティ活動状況Forumに月間約 20件の投稿サポート企業Sphinx Technologiesサポートメニュー/費用サポートパッケージが用意されている。費用については要問い合わせ。
参照 : Sphinx Enterprise Support Package Matrix

历史

項目内容開発開始時期2001年 Andrew Aksyonoff が開発開始開発の経緯2001年 Andrew Aksyonoff が既存データベースのフルテキスト検索の問題点(検索品質、検索速度、インデクシング時のCPU, ディスク条件)を解決するために、Sphinxの開発を開始した。
参照 : Sphinx Hisstory最近のメジャーリリース履歴2016-09 2.3.2 mmapを使用した検索、デーモン対応とインデクシング処理スレッド分離、HTTPプロトコル・インタフェース
https://github.com/sphinxsearch/sphinx/releasesリリース頻度年間 1回ぐらいのリリース

适用条件

項目内容適用システムレンタルサービス、ビッグデータ・ログ解析など
参照 : Sphinx Case Studies適用数WEBサイトを中心に多くの企業で使用されています。
参照 : Powered by Sphinx適用企業Infegy, Boardreader, craigslist など
参照 : Powered by Sphinx

最终 (zuì

这次调查的目标 OSS 搜索引擎在功能上看起来没有太大的差异。由于 Elasticsearch 和 Solr 已经有许多成功的应用案例,并且社区活动也很活跃,因此可以被充分考虑作为可选的部署目标。

Sphinx 使用双重许可证,根据许可证的不同,功能和性能也有所不同,因此在部署时需要确认许可条款。此外,还需要注意的是 Sphinx 没有国内的支持企业。

如果有对描述内容有错误或者有什么疑问的话,希望您能通过编辑请求或者评论给予反馈,将不胜感激。

广告
将在 10 秒后关闭
bannerAds