How It Works

From marketplace listings
to one searchable index.

LocalInternetSearch.com is a search layer, not a directory. Data flows from each marketplace node through ingestion, normalization and entity resolution before it can ever appear in a result.

Current state

Prototype Search — Demo Dataset

No marketplace data source is connected yet. Search runs on a demo dataset whose only purpose is to prove the pipeline end to end. Demo records are labeled everywhere they appear and must not be read as real listings.

107

Nodes registered

0

Nodes connected

0

Records imported

78

Businesses searchable

1 — Marketplace data

Each node already holds its listings somewhere: a database, an export, an API, a feed or another structured source. Nothing is crawled or scraped.

2 — Ingestion adapter

One adapter per transport reads records as-is. CSV and JSON adapters are implemented; database, API, feed and structured adapters are declared and refuse to run until a real connection exists.

3 — Normalized schema

Every record becomes one normalized listing: business name, description, category, address, city, county, state, ZIP, coordinates, contact details, services, ratings, flags, source node and source URL.

4 — Entity resolution

Listings that resolve to the same business — by name plus phone, or name plus city and state — collapse into a single business entity that keeps every source it came from.

5 — The index

Resolved entities and their listings form the searchable index. Record counts anywhere in this app are derived from the index — never hard-coded.

6 — Search and attribution

Search and Ask read only from the index. Every result names the nodes it was found on and links back to the original marketplace listing when the source provided a URL.

Connecting the first real node

The next milestone is one marketplace, connected for real.

  1. 1. Export or expose one node’s listings as CSV, JSON, a database or an API.
  2. 2. Point an ingestion adapter at it and map its columns onto the normalized schema.
  3. 3. Run ingestion; rejected rows are reported rather than silently dropped.
  4. 4. Resolve entities, index them, and the node flips to Connected automatically.
  5. 5. Its records become searchable and every result links back to the original listing.