1

Subtext の Lucene.Net 実装を、私たちの Web サイトで同様のことを行うためのガイドとして見てきました。特定の投稿をサブテキスト インデックスまたは検索すると、NumericUtils.IntToPrefixCoded を介して ID が実行されます。Lucene のドキュメントによると、多少のシフトは行われますが、精度は失われません。それで、ポイントは何ですか?それは何をし、なぜですか?

4

1 に答える 1

1

詳細については、クラスのドキュメントを参照してください。

Apache Lucene で範囲クエリをすばやく実行するために、検索のために範囲が再帰的に複数の間隔に分割されます。範囲の中心はトライで可能な限り低い精度でのみ検索され、境界はより正確に一致します。これにより、項数が大幅に削減されます。

このクラスは、これを実現するための用語を生成します。まず、数値の整数値を文字列に変換する必要があります。そのため、整数値 (32 ビットまたは 64 ビット) は符号なしになり、ビットは 7 ビットごとに ASCII 文字に変換されます。結果の文字列は、元の整数値と同様にソート可能です。shift各値には、エンコード中に使用される値 (削除されたビット数) が (最初の文字で) 接頭辞として付けられます。

私が理解しているように、intToPrefixCodedメソッドはまさにそれを行います。値を取り、それをシフトし、上で説明したようintにソート可能を返します。String

于 2012-11-16T10:49:39.330 に答える