Subtext の Lucene.Net 実装を、私たちの Web サイトで同様のことを行うためのガイドとして見てきました。特定の投稿をサブテキスト インデックスまたは検索すると、NumericUtils.IntToPrefixCoded を介して ID が実行されます。Lucene のドキュメントによると、多少のシフトは行われますが、精度は失われません。それで、ポイントは何ですか?それは何をし、なぜですか?
質問する
447 次
1 に答える
1
詳細については、クラスのドキュメントを参照してください。
Apache Lucene で範囲クエリをすばやく実行するために、検索のために範囲が再帰的に複数の間隔に分割されます。範囲の中心はトライで可能な限り低い精度でのみ検索され、境界はより正確に一致します。これにより、項数が大幅に削減されます。
このクラスは、これを実現するための用語を生成します。まず、数値の整数値を文字列に変換する必要があります。そのため、整数値 (32 ビットまたは 64 ビット) は符号なしになり、ビットは 7 ビットごとに ASCII 文字に変換されます。結果の文字列は、元の整数値と同様にソート可能です。
shift
各値には、エンコード中に使用される値 (削除されたビット数) が (最初の文字で) 接頭辞として付けられます。
私が理解しているように、intToPrefixCoded
メソッドはまさにそれを行います。値を取り、それをシフトし、上で説明したようint
にソート可能を返します。String
于 2012-11-16T10:49:39.330 に答える