私が働いている会社はプレスリリースを送る仕事をしています。私たちは、利害関係者が多くの基準に基づいてプレスリリースを検索できるようにしたいと考えています。最も重要なのは場所です。たとえば、マサチューセッツ州ニューヨーク市に送信されたすべてのニュース、または政府機関から送信された郵便番号89134を、「トラフィック」というトピックで検索する場合があります。または何でも。
問題は、文字通り、何十万ものプレスリリースを送ってきたことです。検索は遅く複雑です。たとえば、ニューヨーク州クイーンズに送信されたプレスリリースは、ニューヨーク市に特に送信されていなくても、上記の検索に表示されるはずです。これは、クイーンズがニューヨーク市のサブセットであるためです。複雑な検索を作成するために、クエリに「and」と「or」および否定とテキスト検索を実装することもできます。これらの検索は、動的RSSフィードとして機能するのに十分な速度である必要もあります。
私はサーチ理論について、またはそれがどのように適切に行われるかについては本当に何も知りません。現在のところ、データマートを使用して、リリースが送信された場所を1つのテーブルに保存しています。ただし、上記のサブセットのせいで、データマートは数百万行の巨大なものです。また、まだ都市を実装していません。米国には約50,000の都市があり、データマートのサイズが指数関数的に大きくなり、機能しなくなるのではないかと心配しています。
とにかく、これは単純な質問ではなく、「これを行う」という答えはありません。しかし、私はあなたの一人が私がどのように大規模な検索が行われるかについて学ぶことができる正しい方向に私を向けることができることを望んでいますか?私はそれについて本当に何も知らないからです。そして、そのような検索エンジンは、作るのが信じられないほど難しいことが判明しています。ありがとう!グーグルがインターネット全体を検索できれば、私たち自身のデータベースも検索できなければならないので、方法があるはずだと私は知っています:-)