43 ベクトル・タイプ
任意のベクトル型をサポートするために、Coherenceは、3つの組込み実装を備えたcom.oracle.coherence.ai.Vector<T>インタフェースを提供します。
BitVectorは、java.util.Bitsetを内部的に使用し、単一ビットを使用して各ベクトル要素を表します。Int8Vectorは、byte[]を内部的に使用します。Float32Vectorは、float[]を内部的に使用します。
これらのタイプを使用すると、フィールドおよびそのアクセッサを単純に作成することにより、他のプロパティを追加するのと同じ方法で、ベクトル・プロパティを独自のクラスに追加できます。
Book.java
@PortableType(id = 2001)
public class Book
{
@Portable private String isbn;
@Portable private String title;
@Portable private String author;
@Portable private String summary;
@Portable private Vector<float[]> summaryEmbedding;
// constructors, getters and setters omitted
}前述の例では、summaryEmbeddingフィールドを使用してサマリー・フィールドのベクトル表現を格納するため、ベクトルの類似性を使用してブック・サマリーを検索できます。
後続の章では、summaryEmbeddingプロパティを使用して標準とベクトル索引の両方を定義する方法、およびそれらに対する類似検索の実行方法を説明します。