密なベクトルをインデックスしようとした際のSolrインデックスエラー
トピック作成者:ks-solruserml-bot (2024/12/28 18:53 投稿)
6
(The bot translated the original post https://lists.apache.org/thread/yrg1h2ork6gh78y2j8q1t4y8z5fnv64z into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)
こんにちは、
私はSolr 9.1を使用して密なベクトルフィールドをインデックスしようとしていますが、インデックスエラーが発生しています。エラーは、ベクトル内に完全に一致する値がある場合、それらが1つの値にまとめられ、ベクトルの長さが減少するというものです。私のフィールド「embedding_vec」はスキーマで200の長さのknn_vectorとして次のように定義されています:
<fieldType name="knn_vector" class="solr.DenseVectorField" vectorDimension="200" similarityFunction="cosine"/>
<field name="embedding_vec" type="knn_vector" indexed="true" stored="false"/>
この状態で、長さ200の入力値を渡すと、完全に一致する4つの重複値があるため、Solrはその長さが196であるとエラーを返します。重複値の3つが削除されることも確認しました。私の入力は次の通りです:
[入力値]
そして、Solrはこれを次のように変換しています:
[Solrによって変換されたベクトル]
エラーのコールスタックは次のようになります:
org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:246)
at org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:100)
at org.apache.solr.update.AddUpdateCommand.lambda$makeLuceneDocs$0(AddUpdateCommand.java:233)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602)
at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:292)
at java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206)
at java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:161)
at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:298)
at java.base/java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681)
at org.apache.lucene.index.DocumentsWriterPerThread.updateDocuments(DocumentsWriterPerThread.java:232)
at org.apache.lucene.index.DocumentsWriter.updateDocuments(DocumentsWriter.java:432)
at org.apache.lucene.index.IndexWriter.updateDocuments(IndexWriter.java:1532)
at org.apache.lucene.index.IndexWriter.updateDocuments(IndexWriter.java:1521)
at org.apache.solr.update.DirectUpdateHandler2.updateDocOrDocValues(DirectUpdateHandler2.java:1048)
この問題について、どのように解決すればよいかアドバイスをいただけますか?
トピックへ返信するには、ログインが必要です。