AIYINGFrom AI Awareness to Accomplishment
Showing posts with label Vector Database. Show all posts
Showing posts with label Vector Database. Show all posts

Wednesday, November 11, 2026

AI Engineering Living Glossary #003 — Vector Database: Where AI Stores and Searches Meaning

AI ENGINEERING | LIVING GLOSSARY | #003

VECTOR DATABASE

Where AI Stores and Searches Meaning



AIYING — Accomplishing with AI

Imagine an organization with 100,000 documents. An employee asks a question but does not know which document contains the answer.

How can an AI application find the most relevant information without depending entirely on exact keyword matches?

One important enabling technology is the vector database.

Vector databases organize numerical representations of information and support similarity-based retrieval. They are widely used in semantic search, Retrieval-Augmented Generation (RAG), recommendation systems, and knowledge assistants.

Engineering insight: Embeddings represent information numerically. Vector databases make those representations searchable at scale.

1. What Is a Vector Database?

A vector database is a data management system designed to store, organize, index, and retrieve vector representations efficiently.

A vector is an ordered collection of numbers. In AI applications, vectors are frequently produced by embedding models.

Illustrative example:

Document: Employee travel reimbursement policy

[0.21, 0.67, 0.13, 0.48, ...]

Document: Business expense guidelines

[0.20, 0.69, 0.11, 0.46, ...]

These are fictional vectors for illustration, not actual outputs from an embedding model.

When a user submits a query, the application can convert that query into a compatible vector and retrieve stored vectors that are similar.

The retrieved vectors point to the corresponding documents, products, passages, or other items.

A vector database does not automatically understand the truth of stored information. It provides retrieval capabilities based on numerical representations and associated data.

↑ Back to contents

2. Why Vector Databases Matter

Traditional databases are highly effective for structured queries such as:

SELECT *
FROM employees
WHERE department = 'Finance';

But many AI applications require a different type of question:

"Find documents that discuss how employees can recover expenses from business travel."

This is a similarity-based retrieval problem.

Vector databases support efficient retrieval across large collections of embeddings.

Traditional structured query Vector similarity query
Find employee ID 125 Find documents similar to this question
Filter orders by date Find products related to this description
Retrieve a known record Retrieve semantically related passages

These approaches are complementary. Modern database and search platforms may support structured, keyword, and vector queries within the same system.

↑ Back to contents

3. How Vector Databases Work

A typical vector retrieval workflow has six stages.

Step 1: Prepare information

Collect documents or other data and divide large items into suitable retrieval units.

Step 2: Generate embeddings

Use an embedding model to convert the information into numerical vectors.

Step 3: Store vectors and metadata

Store vectors together with identifiers, source references, and relevant metadata.

Step 4: Build a search index

Create an index appropriate for the application's scale and performance needs.

Step 5: Process the query

Convert a user query into a vector using a compatible embedding model.

Step 6: Retrieve results

Search the index and return relevant items, often with similarity scores and metadata.

Documents
    |
    v
Chunking / Preparation
    |
    v
Embedding Model
    |
    v
Vector Database
    |
    v
Similarity Index

User Query
    |
    v
Embedding Model
    |
    v
Similarity Search
    |
    v
Relevant Documents
↑ Back to contents

4. Understanding the Architecture

A production vector retrieval system may contain several components.

ComponentPurpose
Embedding model Converts information into vectors.
Vector storage Persists vectors and associated records.
Vector index Supports efficient similarity retrieval.
Metadata Stores attributes such as source, category, tenant, and document ID.
Query engine Executes similarity queries and filters.
Application layer Uses retrieved results in search, recommendations, or RAG.
Security controls Enforce access permissions and data isolation.

Not every application requires a separate specialized vector database.

Some relational databases and search engines provide vector search capabilities. The architecture should be chosen according to the application's requirements.

↑ Back to contents

6. Industry Applications

ApplicationRole of vector search
Enterprise knowledge assistants Retrieve relevant policies, manuals, and procedures.
RAG applications Supply relevant external context to language models.
E-commerce Find related products and support recommendations.
Customer support Locate relevant knowledge-base articles.
Software development Support semantic code and documentation search.
Research discovery Identify conceptually related papers and passages.

Vector search is also useful for certain image, audio, and multimodal retrieval applications when suitable embedding models are available.

↑ Back to contents

7. What Must an AI Engineer Decide?

A. Do we need a vector database?

For small datasets, simple exact search may be sufficient. For larger applications, indexed retrieval may be beneficial.

B. Which database or search platform?

Options include specialized vector databases and general-purpose systems with vector search capabilities.

Examples include Pinecone, Weaviate, Milvus, Qdrant, PostgreSQL with pgvector, and Elasticsearch.

C. Which similarity metric?

The metric should suit the embedding model and the retrieval task.

D. How should documents be chunked?

Chunk size and overlap influence retrieval precision, contextual completeness, storage requirements, and cost.

E. How should metadata be used?

Metadata can support filtering by department, document type, language, date, or tenant.

F. How do we enforce security?

Retrieval must respect user authorization. A highly similar document must not be returned if the user lacks permission.

G. How do we evaluate quality?

Useful measures include Recall@K, Precision@K, retrieval latency, and end-to-end answer quality.

H. How do we manage updates?

Applications need processes for inserting, updating, deleting, and re-embedding records.

Engineering principle: Choose the retrieval architecture that meets quality, scale, security, and operational requirements—not simply the most popular vector database.
↑ Back to contents

8. Practical Industry Case: Enterprise Knowledge Assistant

Consider a company with 50,000 internal documents across HR, finance, operations, and technical support.

An employee asks:

"How do I get reimbursed for hotel expenses during a client visit?"

The relevant document is titled "Business Travel Accommodation Policy."

Engineering workflow

  1. Collect authorized company documents.
  2. Extract and clean the text.
  3. Divide documents into searchable passages.
  4. Generate an embedding for each passage.
  5. Store vectors with source and permission metadata.
  6. Generate an embedding for the employee's question.
  7. Apply authorization filters and retrieve similar passages.
  8. Optionally rerank the retrieved passages.
  9. Supply relevant passages to a language model.
  10. Generate an answer with source references.
  11. Evaluate answer quality and retrieval performance.

The vector database helps locate relevant information even when the user's wording differs from the original document.

The language model can then use the retrieved content to formulate an answer.

Important: The vector database retrieves information. It does not independently guarantee that the generated answer is correct.

↑ Back to contents

9. Try It Yourself

Mini Project: Build a Small Semantic Search System

Objective: Understand how vector storage and similarity search work in a practical application.

  1. Prepare 10 short documents on different topics.
  2. Generate embeddings using a suitable model.
  3. Store vectors and document identifiers in a vector-capable system.
  4. Submit a natural-language search query.
  5. Generate a query embedding.
  6. Retrieve the three nearest document vectors.
  7. Display the corresponding documents.
  8. Compare results with keyword search.
  9. Test a query containing different wording but similar meaning.
  10. Record retrieval quality and response time.

Optional extension: Add metadata filtering so that searches return only documents belonging to an authorized category.

Reflection questions

  • Did the system retrieve the expected documents?
  • Were any results similar but irrelevant?
  • How did keyword and vector search differ?
  • What would change with one million documents?
  • How would you prevent unauthorized retrieval?
↑ Back to contents

10. Connected Glossary Terms

  • Token: A unit processed by language-model tokenizers.
  • Embedding: A numerical representation used for similarity comparisons.
  • RAG: Retrieval-Augmented Generation using external information.
  • Semantic Search: Information retrieval based on meaning-related representations.
  • Chunking: Dividing documents into retrieval units.
  • ANN: Approximate Nearest Neighbor search.
  • Reranking: Reordering candidate results using additional relevance signals.
  • Evals: Measuring retrieval and application performance.

Previous lessons:

#001 — Token

#002 — Embedding

Next lesson: #004 — RAG.

↑ Back to contents

11. Living Update

Editorial baseline: November 2026

Vector retrieval is increasingly integrated into broader database, search, and AI application architectures.

Important developments and engineering directions to monitor include:

  • Hybrid keyword and vector search
  • Metadata-aware retrieval
  • Multimodal vector search
  • Vector compression and quantization
  • Distributed indexing and scaling
  • Embedding-model migration
  • Retrieval evaluation and observability
  • Security and tenant isolation

A vector database should not be treated as an unlimited, automatically accurate memory system.

Retrieval quality depends on the embedding model, data preparation, indexing, filtering, and application design.

Living Glossary note: Review this entry as retrieval architectures, indexing methods, and database capabilities continue to evolve.

↑ Back to contents

12. Key Takeaway

A vector database makes numerical representations of information searchable, enabling AI applications to retrieve related content efficiently.

Its value is not simply storing vectors. Its value lies in helping applications retrieve the right information for the right user at the right time.

Think like an AI engineer: Does our retrieval system return information that is merely similar, or information that actually helps the user accomplish the task?

↑ Back to contents

13. References and Further Reading

↑ Back to contents

AI Engineering — Living Glossary

One Term. One Industry Connection. One Practical Insight. One Action.

AIYING — Accomplishing with AI

Episode #003 | VECTOR DATABASE

↑ Return to top

AI Engineering Living Glossary #002 — Embedding: How AI Turns Meaning into Numbers

AI ENGINEERING | LIVING GLOSSARY | #002

EMBEDDING

How AI Turns Meaning into Numbers



AIYING — Accomplishing with AI

How can an AI system recognize that "healthy food" and "nutritious meals" are related, even though the words are different?

One important answer is embeddings.

Embeddings make it possible to represent text, images and other information numerically so that machines can compare relationships and similarities.

Engineering insight: Embeddings help AI applications move beyond exact word matching toward similarity-based information retrieval.

1. What Is an Embedding?

An embedding is a numerical representation of an item, such as a word, sentence, document or image, in a multidimensional vector space.

In AI applications, an embedding model converts input information into a vector: an ordered collection of numbers.

Illustrative representation:

Text: "healthy food"

[0.21, 0.67, 0.13, ...]

Text: "nutritious meals"

[0.20, 0.69, 0.11, ...]

These values are fictional and simplified. Actual embeddings may contain hundreds or thousands of dimensions.

Embedding models are trained to represent useful relationships between inputs. In suitable models, semantically related texts often have nearby vector representations according to a chosen similarity measure.

Important distinction: An embedding is not a dictionary definition of meaning. It is a learned numerical representation whose usefulness depends on the model, training and task.

↑ Back to contents

2. Why Embeddings Matter

Traditional keyword search relies heavily on matching the words appearing in a query and a document.

But people can express similar ideas using different words.

Employee asks: "How do I claim travel expenses?"

Company document: "Business trip reimbursement policy."

A keyword-based system may miss useful documents when terminology differs. An embedding-based system can retrieve related information by comparing vector representations.

Embeddings enable:

  • Semantic search
  • Document discovery
  • Retrieval-Augmented Generation
  • Recommendation systems
  • Content clustering
  • Duplicate and near-duplicate detection

They are especially valuable when an application must work with large collections of unstructured information.

↑ Back to contents

3. How Embeddings Work

A typical text-embedding workflow contains four stages.

Stage 1: Receive the input

The system receives a sentence, document passage or search query.

Stage 2: Process the input

The embedding model tokenizes and processes the input according to its architecture.

Stage 3: Generate the vector

The model produces a fixed-size numerical representation.

Stage 4: Compare representations

The application compares vectors to estimate similarity and identify relevant items.

Document or Query
        |
        v
  Embedding Model
        |
        v
  Numerical Vector
        |
        v
 Similarity Search
        |
        v
 Relevant Results

For document search, stored document vectors and new query vectors are normally produced using compatible embedding configurations.

↑ Back to contents

4. Understanding Semantic Similarity

Imagine a large space containing numerical representations of thousands of sentences.

Sentences about related topics may form clusters, making similarity search possible.

One commonly used similarity measure is cosine similarity.

Cosine similarity compares the direction of two vectors rather than simply counting matching words.

Other systems use dot product or distance measures such as Euclidean distance.

Engineering caution: A high similarity score does not prove that two statements are factually equivalent, correct or interchangeable.

For example, "The payment was approved" and "The payment was not approved" may share considerable vocabulary and context while expressing opposite outcomes.

This is why important retrieval systems need evaluation, metadata filters and sometimes reranking or additional verification.

↑ Back to contents

5. Where Industry Uses Embeddings

Industry applicationRole of embeddings
Enterprise knowledge assistantsRetrieve relevant policies, procedures and technical documents.
E-commerceFind products related to a customer's search or preferences.
Customer supportMatch incoming questions with relevant support articles.
Software engineeringSupport semantic code and documentation search.
Media platformsRecommend related content using learned representations.
Research systemsDiscover conceptually related publications and passages.

Embeddings are an important component of many AI applications, but they are rarely the complete solution. Real systems also require storage, retrieval logic, access controls, evaluation and user-facing application design.

↑ Back to contents

6. What Must an AI Engineer Decide?

Using embeddings involves several design decisions.

Choosing an embedding model

Models differ in language coverage, vector dimensions, cost, latency, domain suitability and retrieval performance.

Choosing document boundaries

Should a document be embedded as one large passage or divided into smaller chunks?

Smaller chunks may improve retrieval precision, while excessively small chunks can lose context.

Choosing similarity methods

The selected distance or similarity metric must be compatible with the embedding model and indexing configuration.

Choosing storage and retrieval infrastructure

Engineers may use vector databases, search engines with vector indexes or other suitable storage systems.

Evaluating retrieval quality

Does the system retrieve information that is genuinely useful for answering the user's question?

Protecting sensitive information

Embeddings are not automatically anonymous or secure. Systems still need appropriate privacy, authorization and data-management controls.

Engineering principle: The best embedding model is not necessarily the one with the largest vectors. It is the one that delivers suitable retrieval quality under the application's constraints.
↑ Back to contents

7. Practical Industry Example: An Enterprise Knowledge Assistant

Consider a company with 10,000 internal documents.

Employees need answers about leave policies, travel reimbursement, IT procedures and procurement rules.

Instead of relying exclusively on keyword matching, the company builds a semantic retrieval system.

Step 1: Prepare documents

Extract text, remove unnecessary content and divide documents into suitable passages.

Step 2: Generate embeddings

Convert each passage into a numerical vector using an embedding model.

Step 3: Store and index

Store vectors with document identifiers, source references and access-control metadata.

Step 4: Process an employee query

An employee asks: "Can I get money back for a hotel stay during a work trip?"

Step 5: Retrieve relevant passages

The system embeds the query and searches for similar document passages.

It may retrieve the company's travel accommodation reimbursement policy even when the wording differs.

Step 6: Generate an answer

In a RAG application, the retrieved passages are supplied to a language model to produce a grounded answer with references.

Step 7: Apply safeguards

The application must respect document permissions, verify retrieval relevance and avoid presenting unsupported conclusions.

Result: Employees can locate relevant information without needing to know the precise terminology used in internal documents.

↑ Back to contents

8. Try It Yourself

Mini Experiment: Search by Meaning, Not Just Words

Objective: Observe how embeddings can retrieve related sentences.

  1. Prepare five short sentences covering different topics.
  2. Include two sentences expressing similar ideas with different vocabulary.
  3. Generate embeddings using a suitable embedding model or demonstration tool.
  4. Calculate similarity between a query embedding and the five sentence embeddings.
  5. Rank the sentences by similarity.
  6. Compare the results with simple keyword matching.
  7. Try a negated sentence and observe whether semantic similarity alone is sufficient.

Example sentences:

  • The employee requested reimbursement for travel.
  • The worker submitted a claim for business trip expenses.
  • The software server requires maintenance.
  • The restaurant introduced a new menu.
  • The employee did not request reimbursement for travel.

Reflection: Which sentences were retrieved? Were the rankings appropriate? Where could the system make a mistake?

↑ Back to contents

9. Connected Glossary Terms

  • Token: The units processed by language models and tokenizers.
  • Vector Database: Infrastructure for storing and searching vector representations.
  • RAG: A method for supplying retrieved information to generative models.
  • Semantic Search: Retrieval based on meaning-related representations.
  • Chunking: Dividing information into manageable retrieval units.
  • Reranking: Reordering retrieved results using an additional relevance model.
  • Evals: Systematic measurement of retrieval and application quality.

Previous lesson: #001 — Token

Next lesson: #003 — Vector Database.

↑ Back to contents

10. Living Update

Editorial baseline: November 2026

Embedding engineering increasingly involves more than choosing a model and performing nearest-neighbor search.

Important areas to follow include:

  • Multilingual and cross-language retrieval
  • Multimodal representations of text, images and other media
  • Hybrid search combining lexical and vector retrieval
  • Domain-specific embedding evaluation
  • Reranking and retrieval optimization
  • Embedding-model upgrades and reindexing
  • Privacy and access-control requirements

When an embedding model changes, previously stored vectors may not remain compatible with new query embeddings. Migration and reindexing must therefore be considered.

Living Glossary note: Revisit this entry as embedding architectures, retrieval benchmarks and industry practices evolve.

↑ Back to contents

11. Key Takeaway

Embeddings allow AI systems to compare information numerically, making meaning-oriented retrieval possible.

But embedding similarity is not the same as factual correctness.

The engineer's responsibility is to build systems that retrieve relevant information, respect constraints and produce useful results.

Think like an AI engineer: Are we retrieving the most similar information, or the information that actually helps accomplish the task?

↑ Back to contents

12. References and Further Reading

↑ Back to contents

AI Engineering — Living Glossary

One Term. One Industry Connection. One Practical Insight. One Action.

AIYING — Accomplishing with AI

Episode #002 | EMBEDDING

↑ Return to top

Saturday, October 3, 2026

The Minimalist Vector Database: Vector Databases Explained in 100 Words

The Minimalist Vector Database - Vector Databases Explained in 100 Words by Ravindra Dastikop

THE MINIMALIST VECTOR DATABASE

Vector Databases Explained in 100 Words

Ravindra Dastikop

Understand less. Accomplish more.


Why This Book?

Vector databases are becoming complicated.

Storage.
Embeddings.
Indexes.
Similarity.
Distance.
Queries.
Metadata.
Filtering.
Retrieval.

But understanding vector databases does not have to begin with complexity.

This book strips vector databases down to what matters.

10 ideas.
10 words each.
100 words.
Enough to begin.


How to Read This Book

Read one idea.

Stop.

Think about it.

Try it with AI.

Then move to the next.

The purpose is not to know everything about vector databases.

The purpose is to understand enough to accomplish something with vector databases.


01 — VECTOR DATABASE

Vector databases store embeddings and enable efficient similarity-based information retrieval.

Traditional databases commonly organize information around structured values.

AI applications increasingly work with another kind of representation:

Vectors.

A vector database is designed to store and search vector embeddings efficiently.

The vectors can represent:

Text.
Documents.
Images.
Products.
Knowledge.
Other kinds of content.

The important idea is simple.

Store vectors so related information can be found efficiently.

EMBEDDINGS → DATABASE → SEARCH

02 — STORAGE

Storage keeps vectors alongside identifiers, content, metadata, and relationships reliably.

A vector by itself is rarely enough.

An application usually needs to know what the vector represents.

A stored vector might correspond to:

A document.
A paragraph.
An image.
A product.
A customer record.
A knowledge chunk.

The vector can therefore be associated with identifiers and additional information.

When a match is found, the system can return something meaningful rather than merely a list of numbers.

CONTENT → VECTOR + INFORMATION → STORAGE

03 — EMBEDDINGS

Embeddings transform content into vectors whose relationships support similarity search.

This connects directly to The Minimalist Embeddings.

An embedding is a numerical representation of content.

Text can become an embedding.

Images can become embeddings.

Other kinds of entities can also be represented as embeddings.

These vectors can preserve useful relationships between the original items.

A vector database can then store and search those representations.

CONTENT → EMBEDDING → VECTOR DATABASE

04 — INDEX

Indexes organize vectors to make large-scale similarity searches more efficient.

Imagine comparing a query against millions of stored vectors.

Checking every vector can become computationally expensive.

Indexes help accelerate searching.

A vector index organizes vector data so the system can efficiently identify likely nearest neighbors.

Different indexing approaches involve trade-offs.

These can include:

Search speed.
Memory.
Index-building time.
Retrieval quality.

The database stores.

The index helps search.

VECTORS → INDEX → FASTER SEARCH

05 — SIMILARITY

Similarity identifies stored vectors mathematically closest to the query vector.

Suppose someone asks:

“How can AI understand customer complaints?”

The question can be converted into an embedding.

The system compares that query vector with stored vectors.

Vectors judged mathematically closer according to the chosen measure can become candidate matches.

This enables semantic search.

The system can find related meaning even when the exact words are different.

QUERY → VECTOR → COMPARE → NEAREST VECTORS

06 — DISTANCE

Distance measures mathematical separation between query and stored vector representations.

How does the system determine which vectors are close?

It needs a mathematical measure.

Depending on the system, measures can include:

Cosine similarity.
Euclidean distance.
Dot product.

The system uses the selected measure to compare the query vector with stored vectors.

The goal is to identify useful nearest neighbors.

The important principle is:

Mathematical closeness can help identify semantic relatedness.

VECTOR → DISTANCE → NEAREST NEIGHBORS

07 — QUERY

Queries convert search intentions into vectors for nearest-neighbor comparison operations.

The user normally does not search by typing vectors.

They express an intention.

For example:

“Find documents about improving employee retention.”

The system can transform that query into an embedding.

The query embedding is compared with stored embeddings.

Nearby vectors become candidate results.

This creates a bridge between human language and mathematical search.

HUMAN QUERY → EMBEDDING → VECTOR SEARCH → RESULTS

08 — METADATA

Metadata adds descriptive information that helps identify stored vector objects.

Vectors capture numerical representations.

But applications often need additional information.

Imagine a vector representing a book.

Useful metadata might include:

Title.
Author.
Date.
Category.
Language.
Source.

Metadata provides useful information around the vector or associated object.

The vector helps determine similarity.

Metadata helps describe what was found.

VECTOR → SIMILARITY
METADATA → CONTEXT

09 — FILTERING

Filtering restricts vector searches using structured conditions beyond semantic similarity.

Similarity alone is not always enough.

Suppose someone asks:

“Find products similar to this one.”

But they also require:

Price below ₹5,000.
Category = electronics.
Language = English.
Published after 2025.

These are structured conditions.

Filtering allows the search to respect those conditions while still using vector similarity.

This can make the results more targeted and useful.

SIMILARITY + CONDITIONS → BETTER-TARGETED RESULTS

10 — RETRIEVAL

Retrieval returns relevant stored information for applications or downstream models.

Searching has a purpose.

Something useful must eventually be returned.

A vector search may retrieve:

Documents.
Passages.
Products.
Images.
Recommendations.
Knowledge chunks.

Those results might go directly to a user.

Or they might become context for another AI system.

This is one reason vector databases are useful in retrieval systems such as RAG.

But retrieval is not proof of correctness.

The returned information still needs appropriate evaluation and judgment.

QUERY → SEARCH → RETRIEVE → USE → JUDGE

The Entire Book in 100 Words

VECTOR DATABASE
Vector databases store embeddings and enable efficient similarity-based information retrieval.

STORAGE
Storage keeps vectors alongside identifiers, content, metadata, and relationships reliably.

EMBEDDINGS
Embeddings transform content into vectors whose relationships support similarity search.

INDEX
Indexes organize vectors to make large-scale similarity searches more efficient.

SIMILARITY
Similarity identifies stored vectors mathematically closest to the query vector.

DISTANCE
Distance measures mathematical separation between query and stored vector representations.

QUERY
Queries convert search intentions into vectors for nearest-neighbor comparison operations.

METADATA
Metadata adds descriptive information that helps identify stored vector objects.

FILTERING
Filtering restricts vector searches using structured conditions beyond semantic similarity.

RETRIEVAL
Retrieval returns relevant stored information for applications or downstream models.


The Minimalist Vector Database

You do not need to understand every vector-database algorithm before you begin.

Remember ten things:

Vector Database.

Storage.

Embeddings.

Index.

Similarity.

Distance.

Query.

Metadata.

Filtering.

Retrieval.

Everything else can come later.

Create embeddings.

Store them with useful information.

Build an appropriate index.

Turn the query into a vector.

Compare vectors.

Measure distance.

Find nearest neighbors.

Use metadata.

Apply filters.

Retrieve useful information.

Then apply judgment to what comes back.


One Final Question

The next time you encounter a vector database, don't begin with:

“Why do I need another database?”

Begin with:

“What information do I need to find by similarity?”

Then decide how to represent, store, search and retrieve it.


Accomplish with AI

Powered by Blogger.

Featured post

AI Engineering Hands-On Lab #001 — Build an AI Answer Reliability Test Bench Without Code

AIYING | Daily 24 — Post 009 AI Engineering Hands-On Lab #001 Build an AI Answer Reliability Test Bench — Without Writing Code Lea...

Search This Blog

List of blogs

Search This Blog

About

Translate

Instant Stories

Read in Your Language

Test

share this

ShareThis

Popular Posts