タグ付けされた質問 「search」

大規模なデータ構造、データベース、またはデータのストリームで特定のデータを探す。明確に識別された検索条件を使用したデータベースクエリの場合は、クエリタグを使用します。

8
Google for Cを適切に使用する方法
Googleを使用してCプログラミング言語のチュートリアルや回答を見つけようとすると、Cは検索を絞り込むのに十分な表現力のある名前ではないという問題があります。「プログラミング」や「言語」などのキーワードと組み合わせても、ほとんどがC ++、C#、Objective-Cで結果が得られます。 Googleを使用して特定のCリソースをより効果的に検索する方法はありますか?
44 c  google  search 

2
Google検索をどのように実装しますか?[閉まっている]
インタビューで「Google検索をどのように実装しますか?」そのような質問にどう答えますか?Googleの一部の実装方法を説明するリソース(BigTable、MapReduce、PageRankなど)があるかもしれませんが、これはインタビューに完全には適合しません。 どのような全体的なアーキテクチャを使用しますか?また、これを15〜30分でどのように説明しますか? 最初に、約1万件のドキュメントを処理する検索エンジンの構築方法の説明から始め、シャーディングを介して約5,000万ドキュメントに拡張し、その後、別のアーキテクチャ/技術的飛躍を実現します。 これは、20,000フィートのビューです。私が望んでいるのは詳細です-あなたがインタビューで実際にそれに答える方法です。どのデータ構造を使用しますか。アーキテクチャで構成されているサービス/マシン。典型的なクエリレイテンシはどうなりますか?フェイルオーバー/スプリットブレインの問題はどうですか?等...

1
HTMLデータ形式は日常の状況でどのように適用されるべきですか?
Googleがページマークアップデータに重点​​を置く方向に移行していることを考えると、Schema.orgで使用されるデータ形式は、Microformatsのデータ形式とどのように連携しますか?これら(および他の仕様)はどのように互いに補完し合い、異なる状況で優先的に使用されるべきですか? 編集: 主題に関する確立された内容から、意見はSchema.orgが破滅的で、地獄の火薬であり、取り締まりであると信じる人々と、それがいずれにせよ最終的には良いことだと考える人々の間で意見が分かれているようです。 両方の記事は、少なくとも、検索エンジンに過度の悲しみを引き起こすことなく、さまざまな形式が楽しく共存できることに同意します。ただし、特定のケースでさまざまなオプションがどのように使用されるかについての疑問は残っています。
19 html  data  search  schema 

6
ブレーク/リターンを使用したForeachループと明示的な不変条件および事後条件を使用したwhileループ
これは、値が配列内にあるかどうかを確認する最も一般的な方法です(私には思えます)。 for (int x : array) { if (x == value) return true; } return false; しかし、私が何年も前におそらくWirthやDijkstraによって読んだ本では、このスタイルのほうが優れていると言われました(中に出口があるwhileループと比較した場合)。 int i = 0; while (i < array.length && array[i] != value) i++; return i < array.length; このように、追加の終了条件はループ不変式の明示的な部分になり、ループ内に隠された条件と終了はありません。すべてがより明確で、構造化プログラミングの方法でより明確になります。私は一般的に、この後者のパターンできるだけ好ましいと使用forからだけ反復する-loopをaしますb。 それでも、最初のバージョンはそれほど明確ではないとは言えません。少なくとも初心者にとっては、さらに明確で理解しやすいかもしれません。だから私はまだどちらが良いのか自分自身に質問していますか? たぶん誰かが方法の1つを支持して良い根拠を与えることができますか? 更新:これは、複数の関数の戻り点、ラムダ、または配列自体の要素の検出の問題ではありません。それは、単一の不等式よりも複雑な不変式を持つループを書く方法についてです。 更新:OK、答えてコメントする人々のポイントがわかります:ここでforeachループをミックスインしました。これは、whileループよりもはるかに明確で読みやすいものです。私はそうするべきではありませんでした。しかし、これも興味深い質問なので、そのままにしておきます。foreach-loopと内部の追加条件、または明示的なループ不変条件とpost-conditionの後のwhileループです。条件と終了/ブレークのあるforeachループが勝っているようです。foreach-loopを使用せずに追加の質問を作成します(リンクリストの場合)。

1
機械学習は検索エンジンの設計にどのように組み込まれていますか?
現在、Apache Luceneに基づいた小さな社内検索エンジンを構築しています。その目的は簡単です-いくつかのキーワードに基づいて、社内で書かれた記事を提案します。基本メトリックとしてかなり標準的なTF-IDFスコアリングを使用しており、その上に独自のスコアリングメカニズムを構築しています。これらのすべては、ランキングがめちゃくちゃになっているように見えるいくつかのコーナーケースを除いて、うまく機能しているようです。 したがって、私がやろうとしているのは、検索結果ページに小さな関連/非関連リンクを追加して、その結果が最初に含まれるべきかどうかの認識に応じてユーザーがそれらのいずれかをクリックできるようにすることです。 私のアイデア これらの関連/非関連をラベルとして扱い、トレーニングデータを作成します。 このデータを使用して分類器(SVMなど)をトレーニングします このモデルを検索エンジンに組み込みます。つまり、新しい結果はすべて分類子を通過し、関連性があるかどうかのラベルが割り当てられます。 このアプローチは直感的に思えますが、実際に機能するかどうかはわかりません。私には2つの具体的な質問があります。 すべての機能を抽出する必要がありますか? 機械学習コンポーネントを検索エンジンに統合するより良い方法はありますか?私の最終目標は、ビジネスロジックとユーザーフィードバックの両方に基づいてランキング関数を「学習」することです。

6
プログラマーにとって効率的なグーグル学習の重要性は?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 これは、Googleの使用がプログラマにとって良いか悪いかについての議論ではありません。 あなたの答えでそうすることを控えてください。 最近ではほとんどの人(インターネットを使用する大多数)がGoogleを使用しています。私が話しているのは、これ、より効率的な Google検索のための20のヒントです。 質問:これはプログラマーにとってどれほど重要だと思いますか? 質問:経験豊富な検索(問題に関するより多くの知識)は、効率的な検索、つまり、経験豊富な人による検索とよりよく検索できる人による検索とをどのように比較しますか。収量または品質の面では? 質問:これはプログラミング学校、インターン、または研修生レベルで教えられるべきだと思いますか? 問題を解決するためにGoogleに依存するようになるという議論はご遠慮ください。1)トピックのポイントではありません2)問題を解決できない場合、ほとんどの場合彼らは雇われません。 質問:これは最近、良いプログラミング学校で教えられていますか? 注意: 確かに、この記事は新しいものではありません。 サイト上の質問のいくつかは、それをもっとうまく検索できたプログラマーが投稿した簡単なGoogle検索で回答されました。回答に対する個人的なタッチの期待に関係なく、これらのほとんどは直接または失敗した検索に対する真の回答でした。 これは、優秀なプログラマーにとっては一般的な知識かもしれません。しかし、私見はこれは平均的なケースではありません。 違いがあります グーグル そして効率的な検索

8
数字のリストで「穴」を見つける
並べ替えられていない整数のリストに存在しない(リストの最小値より大きい)最初の(最小の)整数を見つける最も速い方法は何ですか? 私の基本的なアプローチは、それらをソートしてリストをステップすることです、より良い方法はありますか?

4
データベースのファジー検索の概念
私はこれについて考え、たとえばユーザーがスペルミスを入力した場合など、データベースをファジー検索する方法に関する解決策を考え出そうとしています。この背後にあるロジックに大きな問題はありますか?それは機能し、以前に行われましたか? 検索するテーブル: **tblArticles** Body - Soundex_Body - CharacterCoded_Body したがって、物理的な表示のために生のテキスト本文を保存します。他の2列は、次の方法で事前計算される検索に使用されます。 Soundex 本文は言葉に分割され、soundexバージョンに変換されます。IE、結果の本文は次のようになります。 H252 B54 C23 E33... etc したがって、誰かが「恐竜」と入力すると、記事本文には「恐竜」と表示され、これらは両方ともB26と評価されます。次に、検索語のsoundex値に対してLIKEを実行します。 文字コード IEで文字を素数にマップする文字マッピングを考えると: h = 2 e = 3 l = 5 o = 7 p = 11 c = 13 help = 2*3*5*11 = 330 hello = 2*3*5*5*7 = 1050 hell = 2*3*5*5 …

1
複数のマイクロサービスにまたがるデータ全体の検索
特定のドメインのデータをマイクロサービスとレガシーデータベースの間で分散しています。レガシーデータベースとマイクロサービスデータベースの両方のフィールドにまたがる検索があります。以前(マイクロサービスの分割前)、1つのSQLクエリで実行されていました。この検索機能を提供するには、REST呼び出しとレガシーデータベースへのクエリが必要です。ここでは数百万行について話しています。これをどのように最適にモデル化できますか?データ量が多いため、REST呼び出しは通常、ページ分割された結果も返します。SQL呼び出しを起動し、結果をREST応答と結合およびマージする単純なアプローチは遅すぎて、実際的ではありません。

8
MSサイトで何かを見つけるのが難しいのはなぜですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 私はいつもこの質問を心に抱いていましたが、これについての説明をいただければ幸いです。私だけですか、それともMSサイトで何かを見つけるのが難しいのと同じように感じていますか?たとえば、.NETフレームワークをダウンロードする必要があるたびに、Googleで検索する必要があります。ダウンロードできるものがわからず、ダウンロードのカテゴリもありません。あなたは単に検索フィールドに残されています。ファイルの最新バージョンをダウンロードしたかどうかはわかりません。悲劇的なことに、競合他社のGoogleに頼ってサイトで何かを見つける必要があります。私は彼らが大企業であることを知っています。 しかし、組織化された方法で情報を公開するのは本当に難しいですか?

1
数百万のレコードでの部分的な名前の一致
私たちは、名前を照合するためのWebベースのアプリケーションを開発しました。名前をパーツに分割することで動作し、各パーツのSoundex値はデータベースに格納されます。レーベンシュタイン距離メトリックは、与えられた名前に対するパーセンテージ音のマッチングだけでなく、スペルを適用するために使用されます。 実行時に、すべてのレコードをメモリに読み込み、すべてのSoundex値とすべての名前のすべての部分のスペルにレーベンシュタイン距離を適用します。 最大で2万の名前があったため、これは最初は問題なく機能していましたが、現在、当社のクライアントの1つに3,000万の名前があります。リクエストごとにこの巨大なリストをメモリにロードし、このタイプのマッチングを適用することは、大量のメモリと実行時間を使用する悲惨なアプローチです。 サウンドとスペリングのパーセンテージマッチングを使用して、近い将来に3000万件以上のレコードのデータベースを検索するための提案を探しています。 コア機能 エンドユーザーは、照合する名前と最小パーセンテージを入力します。名前の任意の部分が指定された名前の指定されたパーセンテージまでの任意の部分と一致するすべての名前をデータベースに表示することになっています。完全な名前を一致させる必要はありません。割合までの一致が成功した場合は、どの部分でも成功します。例えば。 Given Name: Helen Hunt Name in DB: Holly Hunter 両方の名前の両方の部分は正確には一致していませんが、ある程度までは一致します。80%と想定します。したがって、ユーザーが80%と入力した場合、DB内の名前は一致する名前として表示される必要があります。

1
フィルタリングロジックは、リポジトリまたはサービス内にある必要がありますか?
私は次のことを考えています。エンティティを検索するためのフィルタリング機能が必要なシステムを構築しているとします。たとえば、エンティティをリストするテーブルにフィルタリングを適用して何かを見つけたり、それを使用してフィルタリングされたセットに関するレポートを生成したりすることができます。 重要なのは、フィルタリングロジックをどこかに置く必要があるということです。これを行う1つの悪い方法は、必要に応じてフィルタリングロジックを複製することです。私はそれを一度やったことがあり、それはひどい考えです。 一方、Filter(FilteringOptions filteringOptions)フィルタリング操作を実行してエンティティのフィルタリングされたリストを返すように設計されたようなメソッドがあるはずです。 今、私見、フィルタリングロジックは一種のビジネスロジックです。ビジネスエキスパートは、フィルタリングがどのように行われるか、何がどのようにフィルタリングされるかを知っている人です。そのため、フィルタリングロジックはドメインレイヤーに配置する必要があります。 これを行うための2つのオプションが見つかりました。その特定のエンティティに対応するリポジトリにフィルタリングメソッドを埋め込むか、またはEntityNameSearchServiceリポジトリを使用してフィルタリングを実行するようなドメインサービスを作成します。 どちらがより良い方法であるか私はまだ混乱しています。では、DDDを適切に使用しようとしている場合、このフィルタリングロジックはどこにあるべきでしょうか。リポジトリまたは別のサービスで?

1
完全にソートされていないデータを検索するためのヒューリスティック
ソートされたデータがあれば、検索ソリューションは明白です。並べ替えられていないデータが与えられた場合、適切なオプションは、並べ替えてから検索するか、単なる線形検索です。 この質問は、データがある程度ソートされているが、再編成できない場合の対処方法です(書き込み操作にはセクターの消去が必要であり、セクターがRAMに収まりません)。 詳細: データレコードは、タイムスタンプとともに順次ログに記録されます。ただし、タイムスタンプクロックは、同期される前にしばらくの間エポックにリセットされるか、夏時間調整などにより単純に調整されます。 検索結果は、指定された時刻に最も近いタイムスタンプを持つログレコードである必要があります。特定のタイムスタンプでレコードのバイナリ検索を実行しているときに、不連続なログデータのパッチに到達し、間違った方向にピボットする可能性があります。 ブルート線形法以外に、ここで利用できるヒューリスティックはありますか?例:ローカルミニマの影響を受けないシンプレックス検索? 更新: レコードの約95%がソートされた順序であると想定できます。約5%(ログ全体に分散)は、汚いしゃっくりです。タイムスタンプが時間的に逆戻りし、ログの先頭よりも前のスタンプがある場合、しゃっくりの始まりを識別できます。

1
検索テキストのトークン化に適した手法
検索エンジンが行うのと同じまたは同様の方法で一部のテキストをトークン化する方法を探しています。 これを行う理由は、トークンに対して統計分析を実行できるようにするためです。私たちが使用している言語はpythonであるため、その言語で機能するテクニックを好みますが、必要に応じて別の言語を使用するように設定することもできます。 例 元のトークン: 私たちはいくつかの素晴らしいブリトーを持っています! より簡略化:(複数形と句読点を削除) 私たちはいくつかの素晴らしいブリトーを持っています さらに簡略化:(余分な単語を削除) 素晴らしいブリトー 最良:(肯定的および否定的な意味を認識する): ブリトー-ポジティブ-
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.