我在将 Java Vector 类型映射到 Java 中的 Cassandra 表 (Astra DB) 时遇到问题。这个想法是通过带有矢量搜索的 ANN 进行查询以返回电影推荐。
这是我的表定义:
CREATE TABLE movies (
movie_id INT PRIMARY KEY,
title TEXT,
release_date DATE,
movie_vector vector<float,7>);
Run Code Online (Sandbox Code Playgroud)
哪个映射到类:
public class Movie {
private int movieId;
private String title;
private LocalDate releaseDate;
private CqlVector<Float> vector;
Run Code Online (Sandbox Code Playgroud)
(完整的 getter 和 setter)
它的属性通过以下 CQL 绑定到准备好的语句:
private final static String strCQLINSERT = "INSERT INTO movies "
+ "(movie_id,title,release_date,movie_vector) "
+ "VALUES (?,?,?,?)";
Run Code Online (Sandbox Code Playgroud)
然后,我使用 Java Vector API 从数组定义一个向量float,然后尝试将其映射到我的类中。
Movie movie = new Movie(); …Run Code Online (Sandbox Code Playgroud)