2

タスクは、私のプロジェクト (PHP/Zend Framework 2 + MySQL) で MySQL にテキスト検索を実装することです。問題は、テキスト フィールドがまったく大きくないことです。ほとんどの場合、VARCHAR フィールドまたは都市名、会社名などの結合フィールドであり、エンティティごとに約 5 ~ 10 フィールドです。そのため、現在は Lucene (zend Framework 2 モジュール - Zend Search) を選択することにしましたが、小さな varchar フィールドに Lucene や Sphinx などのテクノロジを使用することは効果的でしょうか?

ありがとうございました。

4

1 に答える 1

5

確かに、Lucene または Sphinx は、テキストを含む任意の varchar 列で動作します。* 巨大である必要はありません。

全文索引作成ソリューションは、LIKE '%word%'!を使用するよりも数百倍または数千倍優れています。

私のプレゼンテーションFulltext Search Throwdownに興味があるかもしれません。

このプレゼンテーションをウェビナーとして配信している私の録画もご覧いただけます: http://www.percona.com/webinars/2012-08-22-full-text-search-throwdown (無料ですが、登録が必要です)。

* Lucene と Sphinx は、数値列でもいくつかのことを行うことができます。

PS: 私は Zend Framework 1.0 のプロジェクト リーダーでした。Zend_Search_Lucene は 2007 年頃の興味深い実験でしたが、Apache Lucene/Solr に比べて時代遅れであり、Zend_Search_Lucene は Java 実装よりも桁違いに遅いです。私はそれを気にしません。

于 2013-07-19T22:23:10.680 に答える