問題タブ [inverted-index]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
3749 参照

database - 巨大な逆索引を作成する方法

約 10 6用語の大きな転置インデックスを作成したいと考えています。どのような方法をお勧めしますか? 東京キャビネット、voldemort などの高速バイナリ キー ストア DB で考えています index、クエリは非常に遅かったです。このような状況では、SQL データベースのオーバーヘッド、トランザクションのオーバーヘッド、クエリの解析などが多すぎると思います。私は、優れた応答時間とパフォーマンスを持ちながら拡張できるテクノロジまたはアルゴリズムのアプローチを探しています。私は研究目的で独自のソリューションを展開しています。

0 投票する
2 に答える
2024 参照

search-engine - 検索エンジンの逆索引

ファイルからテキストを検索するための小さなアプリケーションを作成するコードを作成しようとしています。

ファイルはクロールする必要があり、検索を促進するために転置インデックスを配置する必要があります。

私の問題は、パーサーがどのようになるかについてのアイデアがあることです。クエリに AND、NOT、OR を実装したいと考えています。

一方、インデックスがどうあるべきかわかりませんでした...逆インデックスを作成したことがないので、実行可能な方法を誰かが提案できれば、とても感謝しています。私は理論的にはそれがどのように機能するかを知っていますが、私の問題は、MySqlでどのように実現するかがまったくわからないことです. インデックスされるキーワードにも重みを与える必要があります。

0 投票する
2 に答える
4511 参照

algorithm - 検索エンジンは逆索引からの結果をどのようにマージしますか?

検索エンジンは逆索引からの結果をどのようにマージしますか?

たとえば、"dog" と "bat" という単語の逆インデックスを検索すると、2 つの単語のうちの 1 つを含むすべてのドキュメントの 2 つの巨大なリストが作成されます。

検索エンジンがこれらのリストを一度に 1 文書ずつ調べて、リストの結果と一致するものを見つけようとしているとは思えません。このマージ プロセスを高速化するために、アルゴリズム的に何が行われますか?

0 投票する
4 に答える
2361 参照

indexing - 転置インデックスを構築するための最良の方法は何ですか?

約100万のWebページを検索するための小さなWeb検索エンジンを構築していますが、転置インデックスを構築するための最良の方法は何ですか?DBMSを使用するか、何を…?ストレージコスト、パフォーマンス、インデックス作成の速度、クエリなど、さまざまな観点から?自分で作成したいので、オープンソースプロジェクトは使いたくありません。

0 投票する
2 に答える
2047 参照

php - 転置インデックスの構築を支援します

それは私が学校のためにやっている情報検索の一部です。計画では、単語の最初の2文字をキーとして使用し、2文字が文字列値として保存されている単語のハッシュマップを作成します。それで、

hashmap ["ba"]="悪い大麦ベース"

行のトークン化が完了したら、そのハッシュマップを取得してシリアル化し、キーにちなんで名付けられたテキストファイルに追加します。

アイデアは、データを取得して数百のファイルに分散させると、各ファイルの密度を下げることで、検索の実行にかかる時間を短縮できるということです。私が遭遇している問題は、実行ごとに100以上のファイルを作成しているときに、何らかの理由でいくつかのファイルの作成が妨げられ、それらのエントリが空になることです。これをより効率的にする方法はありますか?これを続ける価値はありますか、それとも私はそれを放棄する必要がありますか?

私はPHPを使用していることを述べたいと思います。私が比較的親密に知っている2つの言語は、PHPとJavaです。PHPを選択したのは、フロントエンドの実行が非常に簡単で、オートコンプリートや推奨検索などの機能を問題なく追加できるためです。また、Javaを使用してもメリットはありません。どんな助けでもありがたいです、ありがとう。

0 投票する
1 に答える
3299 参照

search - 逆索引構造でフレーズクエリを検索するには?

この "t1 t2 t3" (t1、t2、t3 をキューに入れる必要があります) のようなクエリを逆インデックス構造で検索したい場合、どのようにすればよいでしょうか?

1-最初に "t1" 用語を検索し、 "t1" を含むすべてのドキュメントを見つけ、次に "t2" と "t3" に対してこの作業を行います。次に、「t1」、「t2」、「t3」の位置が隣り合っている文書を見つけます。

2-最初に「t1」用語を検索し、「t1」を含むすべてのドキュメントを見つけます。次に、見つかったすべてのドキュメントで「t2」を検索し、次に、この結果で「t3」を含むドキュメントを見つけます。 " .

私は完全な逆索引を持っています。上記のどの方法が最適化されているか知りたいのですが、(1) または (2) ですか?

どうもありがとう。

0 投票する
1 に答える
504 参照

database - Webサイトの転置インデックスを作成しましたが、どこに保存しますか?検索エンジンのデータベース?

検索エンジンのデータベースは何でしょうか?つまり、サイトの転置インデックスを作成した後、プログラムが他のサイトのインデックスを作成して保存できるように、それを保存することができます。後でインデクサーはそれらを照会することもできます。インデックスは数千億の範囲に及ぶ可能性があるためです。

0 投票する
1 に答える
13612 参照

python - Pythonでファイルのバイトオフセットを取得する方法

私はhadoopとpythonを使用して転置インデックスを作成しています。Pythonで行/単語のバイトオフセットを含める方法を知りたいです。私はこのようなものが必要です

完全転置インデックスを作成するための場所が必要です。助けてください。

0 投票する
6 に答える
3595 参照

python - 転置インデックスの保存

私は情報検索のプロジェクトに取り組んでいます。Hadoop/Pythonを使用して完全転置インデックスを作成しました。Hadoopは、ファイルに書き込まれる(word、documentlist)ペアとしてインデックスを出力します。すばやくアクセスできるように、上記のファイルを使用して辞書(ハッシュテーブル)を作成しました。私の質問は、アクセス時間が短いディスクにこのようなインデックスを保存するにはどうすればよいかということです。現在、私はpython pickleモジュールを使用して辞書を保存し、そこからロードしていますが、インデックス全体を一度にメモリに取り込みます(またはそうしますか?)。インデックスを保存および検索する効率的な方法を提案してください。

私の辞書の構造は次のとおりです(ネストされた辞書を使用)

{単語:{doc1:[場所]、doc2:[場所]、..​​..}}

辞書[word].keys()...などで単語を含むドキュメントを取得できるようにします。

0 投票する
3 に答える
3089 参照

python - 転置インデックスでの通常のクエリの検索

ネストされた python 辞書の形で完全な逆インデックスがあります。その構造は次のとおりです。

{単語: {ドキュメント名: [場所リスト] } }

たとえば、辞書の名前を index とすると、「 spam 」という単語のエントリは次のようになります。

{ スパム: { doc1.txt: [102,300,399], doc5.txt: [200,587] } }

そのため、任意の単語を含むドキュメントはindex[word].keys()で指定でき、そのドキュメントの頻度はlen(index[word][document])で指定できます

ここで私の質問は、このインデックスで通常のクエリ検索をどのように実装するかです。つまり、たとえば 4 つの単語を含むクエリが与えられた場合、4 つすべての一致を含むドキュメントを検索し (出現頻度の合計でランク付け)、次に 3 つの一致を含むドキュメントなどを検索します ....

**

S. Lott の回答を使用して、このコードを追加しました。これは私が書いたコードです。私が望むとおりに動作しますが(出力のフォーマットが必要です)、改善できることはわかっています。

**

Pls コメント.... ありがとうございます。