OpenSearchServer 1.3.1 を使用していますか?
その場合、分離されたインデックスを使用して場所パラメータを格納できます (データベースによって提供されます)。
検索リクエストでは、「結合クエリ」を使用して、全文検索と同時にメタデータ インデックスからデータを取得します。
したがって、2 つのインデックスを取得します: 1. 通常の列のインデックス: タイトル、コンテンツ、URL、ホスト名... 2. メタ データのインデックス: 国、州、IP、URL またはホスト名 (外部キーとして使用)。
メタデータ インデックスのフィールドマップでは、ページの Web クロールを回避するために、URL チェックボックスをオンにしないでください。クロール インデックスと結合するために必要なだけです。
MySQL を使用した 500 万の小さなデータのインデックス作成は高速です (約 10 分)。バッファサイズを適切に設定しましたか? 短いデータの場合、大きなバッファはインデックス化を高速化します。
遅くなるもう 1 つの理由は、OpenSearchServer に許可されているメモリの量です。ランタイム/システム パネルを見て、使用可能なメモリが十分にあることを確認します。通常、500 万のインデックスには 2 ~ 4 GB のメモリが必要です。
クロール キャッシュの使用を検討することもできます。これにより、実際に URL をクロールすることなく、インデックス構成を変更してクロール セッションを再開できます。ページがクロール キャッシュで使用可能な場合は、キャッシュが使用されます。