1

いくつかの属性が関連付けられた単語を含むドキュメントの最大 20 GB のインデックスがあります。たとえば、次のようになります。

WORD: word_1 word_2 ... word_n

POS: pos1_1:pos1_2:pos1:3 pos2 ... pos_n_1:pos_n_2

LEMMA: lemma1_1:lemma1:2:lemma1_3 lemma2 lemma_n_1:lemma_n_2

「:」で区切られたフィールド トークンはあいまいです。つまり、ドキュメント内の同じ位置に対応しています。あいまいな単語属性の重要な詳細は、たとえば、pos1_1 は lemma1_1 のみに対応し、lemma1_2 または 1_3 には対応しないため、同じ位置で pos1_1 と lemma1_3 を検索するときに word_1 と一致してはならないということです。

あいまいなトークンの位置を標準の positionIncrement = 0 で処理し、属性番号をトークン ペイロードと対応させます。たとえば、lemma1_1 にはペイロード = 1、lemma1_2 - 2 があるとします。pos1_1 - 1、pos1_2 - 2 など。また、同じ位置でトークン属性を検索する際に、一致するすべてのトークンのペイロードが同じかどうかをチェックするペイロード フィルターを使用します。

それだけです: SpanNearQueries は、そのインデックスで非常に遅く実行されます (数十秒)。インデックス内のドキュメントの大部分は、通常のクエリに一致します。実際には、SpanQueries がどのように詳細に機能するかはわかりませんが、設計上、非効率性がありますか? それとも、ペイロードの取得は非常に高価ですか? 検索全体を遅くする明らかな何かが欠けているのではないかと思っています。

4

0 に答える 0