Documentation / Extraction

Search

Keyword, semantic and natural-language search with the query builder.

docuflow-ai offers three ways to find documents, all powered by OpenSearch. Pick the one that matches what you know about the document you're looking for.

ModeFinds documents byWhereCredits
KeywordExact words in the name, uploader or content (BM25 ranking with highlights).Header search boxNo
SemanticMeaning: combines keyword matching with vector similarity, so "shipping cost" also finds "freight charges".Header search boxNo
AIA plain-language question turned into a field-level query on a document type's extracted data.Search pageYes
  1. Choose the mode in the drop-down next to the header search box (Keyword search or Semantic search).
  2. Limit the fields (keyword mode) with the sliders icon: document name, uploader name and/or content.
  3. Type your text and press the search button. Results open in a grid with the matching passages highlighted.
Keyword and semantic search cover every document that has reached Indexed, whatever its type. Choosing AI search in the drop-down takes you to the Search page.

AI search (natural language)#

Open Search from the left menu.

  1. Choose a document type. AI search works on one type at a time because it queries that type's extracted fields. Index status shows how many documents are searchable; Index fields lists the fields you can ask about.
  2. Ask in your own words, for example:
    • Invoices from Marble Systems issued in August
    • Purchase orders with a line item containing "pencil"
    • Bank statements with a closing balance under 500
  3. Click Search. AI writes an OpenSearch query from your question; it is shown under OpenSearch query and the matching documents appear in the grid.
  4. Refine the generated query with the query builder (or edit the JSON) and click Run query. Running an edited query does not call AI again.
Better questions, better results
Use the words that appear in Index fields (e.g. shipper, total amount, issue date), give explicit values and units, and ask one thing at a time.

The query builder#

The builder shows the query as groups of conditions joined by AND / OR. You can add, remove and nest conditions without writing JSON. Available operators depend on the field type:

Field typeOperators
Textequals, not equals, contains, does not contain, starts with, ends with, in, not in, is empty, is not empty
Numberequals, not equals, greater than (or equal), less than (or equal), between, not between, in, not in, is empty, is not empty
Dateequals, not equals, greater than (or equal), less than (or equal), between, not between, is empty, is not empty
Booleanequals, not equals, is empty, is not empty

Conditions on fields inside an array (such as lineItems.description) are evaluated per array element, so description contains pencil AND quantity > 10 only matches when both are true on the same line.

You can also edit the query JSON by hand. If it uses features the builder cannot display, the builder says so, and adding a condition in the builder replaces the hand-written query with what the builder holds.

What is searchable when#

Document statusKeywordSemanticAI search
Before Indexed———
IndexedYesYes—
SearchableYesYesYes

If AI search returns nothing, check Index status: the type must have an index and its documents must have finished JSON mapping. See Search indexes.

Search history#

Each AI search is recorded as an AI job with the generated query, so you can review past questions under AI Jobs.

An unhandled error has occurred. Reload 🗙