31

Google/GMail/など 非常に便利ですが、部分検索またはプレフィックス検索 (例: stuff*) は提供していません。正確な表現を覚えていないため、GMail でメールが見つからないことがよくあります。

ステミングなどがあることは知っていますが、特に英語以外の言語について話す場合は、同じではありません。

なぜGoogleはそのような機能を追加しないのですか? インデックスが爆発するからですか?しかし、データベースは部分的な検索を提供するため、この問題に取り組むための優れたアルゴリズムが確実に存在します。

ここで何が問題なのですか?

4

6 に答える 6

8

Google は、検索したテキストを実際には保存しません。検索用語、ページへのリンク、ページ内の用語が存在する場所を保存します。そのデータ構造は、従来のデータベースの意味で索引付けされます。ワイルドカードを使用すると、インデックスのインデックスがかなり遅くなり、Developer Art が言うように、あまり役に立たないでしょう。

于 2009-12-02T19:19:25.553 に答える
8

Google は単語の一部を検索します。ただし、Gmail はそうではありません。ここで何が問題なのかと聞かれるので、私の答えは努力不足です。この問題には、一定の時間と線形空間での検索を可能にする解決策がありますが、あまりキャッシュ フレンドリーではありません: サフィックス ツリー。Suffix Arrays は、よりキャッシュフレンドリーで時間効率の良いもう 1 つのオプションです。

于 2009-12-03T01:13:34.890 に答える
6

Google ドキュメントを介して可能です - この記事に従ってください:

http://www.labnol.org/internet/advanced-gmail-search/21623/

于 2015-08-24T09:28:24.230 に答える
3

Google Code Searchは正規表現に基づいて検索できるため、その方法を知っています。もちろん、Code Search がインデックスに登録しなければならないデータの量は、Web 検索に比べてごくわずかです。Web 検索で正規表現またはワイルドカード検索を使用すると、インデックス サイズが増加し、パフォーマンスが実用的でないレベルまで低下します。

于 2009-12-02T19:20:54.100 に答える
0

Google で何かを見つける秘訣は、探しているコンテンツに含まれる可能性が非常に高く、関連のないコンテンツに一緒に表示される可能性が低い検索用語 (または引用句) の組み合わせを入力することです。ワイルドカード式はこれとは反対のことを行います。ワイルドカードが一致すると予想される語句を入力するだけです。Google がステミングを行うことに注意してください。コンピューターが蒸気で動いていた時代には、Lycos (iirc) にはパターン マッチングがありましたが、数年前にオフになりました。サーバーに負荷がかかりすぎていたと思います。

于 2009-12-02T19:56:38.253 に答える
-1

car* の意味を賢明に導き出すことができないためです。

車?カーペット?人参?

Google のアルゴリズムは、ドキュメントのテキストと外部インバウンドリンクを比較して、ドキュメントの内容を判断します。これらのワイルドカードを使用すると、これらのアルゴリズムはすべてジャンクになります

于 2009-12-02T19:15:10.993 に答える