Elasticsearchが何かをネットで調べるとよく「全文検索エンジン」という言葉を
目にするかと思うが、正直、自分の場合はよくわからなかった。
このページでは、Elasticsearchの概要について解説する。
全文検索エンジンとは?
Wikipediaによると以下のようにある。
全文検索エンジンの一つ。
全文検索とは、コンピュータにおいて、複数の文書(ファイル)から特定の文字列を検索すること。「ファイル名検索」や「単一ファイル内の文字列検索」と異なり、「複数文書にまたがって、文書に含まれる全文を対象とした検索」という意味で使用される。
by Wikipedia
なるほど。「複数文書にまたがって、文書に含まれる全文を対象とした検索」とな。。
この文章だけだと、なんか検索に凄い時間がかかりそうな気がするが
調べてみると全文検索エンジンには以下のタイプがある模様。
1)grep型
ファイルを一つずつ順番に検索対象になるかをチェックしていく方法
ファイルが増えると、速度が低下する模様。そりゃそうだろう。
2)索引(インデックス)型
予め検索対象となる文章郡を走査しておき、高速な検索が可能になるような索引データを準備しておき
検索時にはこの索引データを対象にした検索を行うことで、検索の高速化を図る方法。
Elasticsearchはこの索引型。
索引(インデックス)の作成方法
文書から索引を作成するとき、文章から「単語」を抽出する。
この抽出された単語と文書を紐付けて索引データ(転置ファイルとも言うらしい)を作成するが
日本語の場合、英語などと違い文書の間にスペースなどの単語を区切る目印が無いため
適切な単語を抽出することが難しい。
そこで日本語の場合は以下の方法で単語を抽出する。
レンタルサーバへのインストールは・・・
検索する限り、レンサバへインストールしている例はないっぽい。
メモリを食うなどの理由もしくはそもそも無理なのか。。
Elasticsearchをインストールする際は、VPSなどサーバを別途に立てて
使用したほうが良いと思われる。