これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド インデクサーです。
プログラム:
NAME
インデクサー - Sphinxsearch 全文インデックス ジェネレーター
SYNOPSIS
インデクサー [--設定 構成ファイル] [--回転] [--進捗なし | --静か] [--すべて | INDEX | ...]
インデクサー --ビルドストップ 出力ファイル COUNT [--設定 構成ファイル] [--進歩なし | - 静かな]
[--すべて | INDEX | ...]
インデクサー - マージ MAIN_INDEX DELTA_INDEX [--設定 構成ファイル] [--回転] [--進捗なし |
- 静かな]
DESCRIPTION
Sphinxは、高品質の全文検索を提供することを目的としたプログラムのコレクションです。
インデクサー これは、Sphinx の一部である XNUMX つの主要ツールのうちの XNUMX つ目です。 どちらかから呼び出されます
コマンドラインから直接、またはより大きなスクリプトの一部として、 インデクサー ~に対して単独で責任を負う
検索可能なデータを収集します。
インデクサーの呼び出し構文は次のとおりです。
$ インデクサー [オプション] [インデックス名 1 [インデックス名 2 [...]]]
基本的に、考えられるさまざまなインデックスをリストします (後で作成します)。
検索可能) sphinx.conf にあるため、呼び出し時に インデクサー、少なくとも次のことが必要です。
どのインデックスを作成するかを指定します。
sphinx.conf に 2 つのインデックスの詳細が含まれている場合、 マイビッグインデックス マイスモールインデックス、あなたはすることができます
以下
$ インデクサー mybigindex
$ インデクサー mysmallindex mybigindex
設定ファイル sphinx.conf の一部として、XNUMX つ以上のインデックスを指定します。
データ。 電話するかもしれません インデクサー それらの XNUMX つをアドホックに再インデックスするか、処理するように指示することもできます
すべてのインデックス - XNUMX つだけを呼び出すか、一度にすべてを呼び出すことに限定されず、いつでも選択できます。
利用可能なインデックスの組み合わせ。
OPTIONS
オプションの大部分は、 インデクサー 構成ファイルに指定されていますが、
影響を与える可能性があるため、コマンド ラインでも指定する必要があるオプションをいくつか示します。
インデックス作成操作がどのように実行されるか。 これらのオプションは次のとおりです。
- すべて
告げる インデクサー リストの代わりに、sphinx.conf にリストされているすべてのインデックスを更新します
個別のインデックス。 これは、小規模な構成や cron タイプ、または
インデックス セット全体が毎日、毎週、または再構築されるメンテナンス ジョブ
どの時期でも良いです。
使用例:
$indexer --config /home/myuser/sphinx.conf --all
--ビルドストップ アウトファイル.txt NUM
データのインデックスを作成しているかのようにインデックス ソースを確認し、
索引付けされている用語。 つまり、検索可能なすべてのリストが生成されます。
インデックスの一部になりつつある用語。 ノート; インデックスは更新されません
質問ですが、それはインデックスを作成しているかのようにデータを処理するだけです (実行も含む)。
で定義されたクエリ sql_query_pre or sql_query_post。 Outputfile.txt には、
単語のリスト。XNUMX 行に XNUMX つずつ、頻度の高い順に並べ替えられます。 NUM
リストされる単語の最大数を指定します。 十分に大きい場合
インデックス内のすべての単語を包含する場合、その数の単語のみが返されます。 そんな
辞書リストは、「もしかして...」に関するクライアント アプリケーション機能に使用できます。
機能、通常は連携して --buildfreqs下記。
例:
$ インデクサー myindex --buildstops word_freq.txt 1000
これにより、現在のディレクトリに 1,000 個のファイルが含まれる word_freq.txt というドキュメントが生成されます。
「myindex」内の最も一般的な単語。最も一般的な単語から順に並べられます。 ファイルは
複数のインデックスを指定した場合、最後にインデックス付けされたインデックスに関係するか、 - すべて (すなわち、
構成ファイルにリストされている最後のもの)
--buildfreqs
と組み合わせて使用 --ビルドストップ (次の場合は無視されます) --ビルドストップ は指定されていません)。 として
--ビルドストップ 索引内で使用されている単語のリストを提供します。 --buildfreqs 追加します
インデックス内に存在する量。これは、特定のデータかどうかを確認するのに役立ちます。
あまりにも蔓延している単語はストップワードとみなすべきです。 にも役立ちます
特定の単語がどれだけ一般的であるかを確認できる「もしかして...」機能を開発しています
別の同様のものと比較します。
例:
$ インデクサー myindex --buildstops word_freq.txt 1000 --buildfreqs
これにより、上記のように word_freq.txt が生成されますが、各単語の後に
問題のインデックスで発生した回数。
--config 設定する, -c 構成ファイル
指定されたファイルを構成として使用します。 通常、次のファイルで sphinx.conf を探します。
インストールディレクトリ (例: /usr/local/sphinx/etc/sphinx.conf にインストールされている場合)
/usr/local/sphinx) の後に、インデクサーを呼び出すときにいる現在のディレクトリが続きます
シェルから。 これは、バイナリ ファイルが保存されている共有環境で最もよく使用されます。
/usr/local/sphinx/ のような場所にインストールされていますが、ユーザーに
独自のカスタム Sphinx セットアップを作成する機能、または複数の Sphinx セットアップを実行したい場合
単一サーバー上のインスタンス。 このような場合、彼らに自分の
独自の sphinx.conf ファイルを作成し、それらを インデクサー このオプションを使用します。
具体的な例を挙げますと、以下の通りです。
$indexer --config /home/myuser/sphinx.conf myindex
--ダンプ行 FILE
SQL ソースによってフェッチされた行を、指定されたファイルに MySQL 互換形式でダンプします。
構文。 結果として得られるダンプは、インデクサーが受信したデータを正確に表現したものです。
インデックス作成時の問題を繰り返すのに役立ちます。
- マージ DSTインデックス SRCインデックス
XNUMX つのインデックスを物理的に結合します。 たとえば、メイン + デルタ スキームがある場合、
メインインデックスはめったに変更されませんが、デルタインデックスは頻繁に再構築されます。
- マージ XNUMX つを組み合わせるために使用されます。 操作は右から左に進みます。
の内容 SRCインデックス 検査を受け、その内容と物理的に結合する
DSTインデックス そして結果が残ります DSTインデックス。 擬似コードでは次のように表現できるかもしれません
を次のように定義しています: DSTインデックス += SRCインデックス
例:
$indexer --merge main delta --rotate
上記の例では、メインがマスター、めったに変更されないインデックス、およびデルタです。
は変更頻度が低いものなので、上記を使用して呼び出すことができます インデクサー 〜へ
デルタの内容をメイン インデックスに結合し、インデックスをローテーションします。
--merge-dst-range ATTR MIN MAX
結合時に指定されたフィルター範囲を実行します。 具体的には、マージが適用されると、
宛先インデックス (の一部として) - マージ、次の場合は無視されます。 - マージ は指定されていません)、
インデクサー また、宛先インデックスに含まれるドキュメントもフィルタリングされます。
ドキュメントは指定されたフィルターを通過し、最終的にインデックスに追加されます。 これ
たとえば、「削除」属性があるインデックスで使用できます。ここで、0
「削除されていない」という意味です。 このようなインデックスは次のものとマージできます。
$ インデクサー --merge main delta --merge-dst-range 削除 0 0
削除済みとしてマークされたドキュメント (値 1) は、新しくマージされたドキュメントから削除されます。
宛先インデックス。 コマンドラインに複数回追加することができます。
連続するフィルタをマージに適用します。ドキュメントを結合するには、すべてのフィルタが満たされる必要があります。
最終的なインデックスの一部になります。
--マージ-キルリスト, --merge-klists
と組み合わせて使用 - マージ。 通常、合流するときは インデクサー ソースインデックスのkill-listを使用します
(つまり、マージされるもの) をフィルターとして使用し、一致するドキュメントを消去します。
宛先インデックス。 同時に、宛先自体のkill-listはそうではありません。
全然触れた。 使用するとき --マージ-キルリスト、(またはそれを短縮した形式) --merge-klists)
インデクサー src-index killlist を使用して dst-index ドキュメントをフィルタリングしませんが、マージします
それらの kill リストを一緒にすると、最終結果のインデックスには kill リストが含まれます。
マージされたソース Kill-List が含まれています。
--進行なし
進行状況の詳細を発生時に表示しないでください。 代わりに、最終的なステータスの詳細 (
ドキュメントのインデックス付け、インデックス付けの速度などは完了時にのみ報告されるため、
インデックス作成。 スクリプトがコンソール (または「tty」) で実行されていない場合、これは
デフォルトでオンになります。
使用例:
$indexer --rotate --all --noprogress
--print-queries
インデクサーがデータベースに送信する SQL クエリと SQL 接続を出力します。
そして切断イベント。 これは、SQL に関する問題を診断して修正するのに役立ちます。
ソース。
- 静かな
告げる インデクサー エラーがない限り何も出力しません。 繰り返しますが、最もよく使用されるのは、
cron-type、または出力が無関係または不要なその他のスクリプト ジョブ。
何らかのエラーが発生した場合。
使用例:
$indexer --rotate --all --quit
-回転
回転インデックスに使用されます。 捜索を受けられる状況にない限り
ユーザーに迷惑をかけずにオフラインで機能するには、ほぼ確実に、
新しいドキュメントのインデックス作成中に検索が実行されます。 -回転 XNUMX 番目のインデックスを作成します。
最初のものと並行して (同じ場所で、ファイル名に .new を含めるだけです)。
完了したら、 インデクサー 通知済み 検索した を送信することで シグアップ 信号、そして 検索した
インデックスの名前を変更しようとします (既存のインデックスの名前を .old と .old を含むように変更します)。
.new の名前を変更して置き換えます)、新しいファイルから提供を開始します。
の設定に応じて、 シームレス回転、可能になるまでにわずかな遅れが生じる可能性があります
新しいインデックスを検索します。
使用例:
$ インデクサー --rotate --all
--ため息-それぞれ
多くの大きなインデックスを再構築し、それぞれを次のようにローテーションしたい場合に便利です。
検索した できるだけ早く。 と --ため息-それぞれ, インデクサー を送ります シグアップ に信号を送る
検索した 各インデックスの作業が正常に完了した後。 (デフォルトの動作は
単一のものを送信する シグアップ すべてのインデックスが構築された後。)
-詳細
インデックス作成の問題の原因となったすべての行 (重複、ゼロ、または欠落) が保証されます。
文書ID; またはファイルフィールド IO の問題。 など)を報告します。 デフォルトでは、このオプションは
はオフになっており、代わりに問題の概要が報告される場合があります。
onworks.net サービスを使用してオンラインでインデクサーを使用する