1

画像のみを含むディレクトリがある場合、Lucene インデックス作成 (逆インデックス作成を使用) を使用してファイルのインデックスを作成する必要があります。色のパーセンテージ (特定の RGB パーセンテージではない) を抽出するツールが提供されていると仮定すると、Lucene ライブラリをどのように使用すれば、緑色の画像をクエリしたときに結果セットが緑色のパーセンテージを持つ画像として降順で取得されます。 ?? Fields ファイルを変更するにはどうすればよいですか? 新しい ColorField ファイルを作成する場合、最小限の変更を容易にするためのデータ型は何ですか? アナライザー ファイルも変更する必要がありますか?

4

1 に答える 1

0

検索するパーセンテージを個別のフィールドとしてインデックス付けします。IntField 、 DoubleField 、 FloatField 、 LongFieldなど使用するおそらく最も理にかなっています。

例えば:

Document doc = new Document();
doc.add(new StoredField("path",path));
doc.add(new FloatField("green",percentageGreen,Field.Store.NO));
doc.add(new FloatField("red",percentageRed,Field.Store.NO));
//etc.

使用する数値フィールド、パーセンテージを保存するかどうかなどの詳細は、要件によって異なります。

次に、 NumericRangeQueryを使用してこれらのパーセンテージを検索するか、次のように適切なIndexSearcher.search 呼び出しを使用してそれらに基づいて並べ替えます。

Sort sort = new Sort(new SortField("green",SortField.Type.FLOAT));
TopDocs docs = searcher.search(query,maxResults,sort);
于 2013-03-20T15:53:28.777 に答える