Class Doc

java.lang.Object
org.zvec.binding.Doc
All Implemented Interfaces:
AutoCloseable

public class Doc extends Object implements AutoCloseable
High-level wrapper for zvec_doc_t.

Documents are the fundamental unit of data. Each document has a primary key and a set of typed fields. Use the typed add/get methods for convenient access.

After close() every operation on this object throws a ZvecException with ErrorCode.FAILED_PRECONDITION. The C API treats a NULL document as a no-op, so without this guard a document reused after being closed would silently discard writes instead of failing.

  • Constructor Details

    • Doc

      public Doc()
  • Method Details

    • isOpen

      public boolean isOpen()
      Returns true while the native handle is still usable.
    • setPK

      public void setPK(String pk)
    • getPK

      public String getPK()
    • setDocID

      public void setDocID(long docID)
    • getDocID

      public long getDocID()
    • setScore

      public void setScore(float score)
    • getScore

      public float getScore()
    • setOperator

      public void setOperator(DocOperator op)
    • getOperator

      public DocOperator getOperator()
    • getFieldCount

      public int getFieldCount()
    • isEmpty

      public boolean isEmpty()
    • clear

      public void clear()
    • hasField

      public boolean hasField(String name)
    • hasFieldValue

      public boolean hasFieldValue(String name)
    • isFieldNull

      public boolean isFieldNull(String name)
    • setFieldNull

      public void setFieldNull(String name)
    • removeField

      public void removeField(String name)
    • getFieldNames

      public List<String> getFieldNames()
    • addStringField

      public void addStringField(String name, String value)
    • addBoolField

      public void addBoolField(String name, boolean value)
    • addInt32Field

      public void addInt32Field(String name, int value)
    • addInt64Field

      public void addInt64Field(String name, long value)
    • addUint32Field

      public void addUint32Field(String name, long value)
    • addUint64Field

      public void addUint64Field(String name, long value)
    • addFloatField

      public void addFloatField(String name, float value)
    • addDoubleField

      public void addDoubleField(String name, double value)
    • addVectorFP32Field

      public void addVectorFP32Field(String name, float[] vector)
      Add a float32 vector field. The data is copied into C-managed memory.
    • addBinaryField

      public void addBinaryField(String name, byte[] data)
      Add a binary field.
    • getStringField

      public String getStringField(String name)
    • getBoolField

      public boolean getBoolField(String name)
    • getInt32Field

      public int getInt32Field(String name)
    • getInt64Field

      public long getInt64Field(String name)
    • getUint32Field

      public long getUint32Field(String name)
    • getUint64Field

      public long getUint64Field(String name)
    • getFloatField

      public float getFloatField(String name)
    • getDoubleField

      public double getDoubleField(String name)
    • getVectorFP32Field

      public float[] getVectorFP32Field(String name)
      Get a float32 vector field. Returns a copy of the underlying data.
    • getBinaryField

      public byte[] getBinaryField(String name)
      Get a binary field. Returns a copy of the underlying data; the C API keeps ownership of the document-internal buffer.
    • serialize

      public byte[] serialize()
    • deserialize

      public static Doc deserialize(byte[] data)
    • merge

      public void merge(Doc other)
    • memoryUsage

      public long memoryUsage()
    • toDetailString

      public String toDetailString()
    • destroy

      public void destroy()
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
    • freeDocs

      public static void freeDocs(List<Doc> docs)
      Free a list of docs.