a2d5658f28
* lex: add account to actor search, for following boost * lex: addition post search query params * lex: add tag to post search; set default for sort * lex: fix formats and skeleton consistency * lex: searchPosts 'until' should be exclusive * lex: relax post time range syntax * lex: allow multiple tags ('AND') as search params * make fmt * lex: use 'viewer' for account DID making profile search * lex: no viewer param in searchActor (only skeleton); do include in post skeleton * codegen search param additions
105 lines
4.1 KiB
JSON
105 lines
4.1 KiB
JSON
{
|
|
"lexicon": 1,
|
|
"id": "app.bsky.unspecced.searchPostsSkeleton",
|
|
"defs": {
|
|
"main": {
|
|
"type": "query",
|
|
"description": "Backend Posts search, returns only skeleton",
|
|
"parameters": {
|
|
"type": "params",
|
|
"required": ["q"],
|
|
"properties": {
|
|
"q": {
|
|
"type": "string",
|
|
"description": "Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended."
|
|
},
|
|
"sort": {
|
|
"type": "string",
|
|
"knownValues": ["top", "latest"],
|
|
"default": "latest",
|
|
"description": "Specifies the ranking order of results."
|
|
},
|
|
"since": {
|
|
"type": "string",
|
|
"description": "Filter results for posts after the indicated datetime (inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYYY-MM-DD)."
|
|
},
|
|
"until": {
|
|
"type": "string",
|
|
"description": "Filter results for posts before the indicated datetime (not inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYY-MM-DD)."
|
|
},
|
|
"mentions": {
|
|
"type": "string",
|
|
"format": "at-identifier",
|
|
"description": "Filter to posts which mention the given account. Handles are resolved to DID before query-time. Only matches rich-text facet mentions."
|
|
},
|
|
"author": {
|
|
"type": "string",
|
|
"format": "at-identifier",
|
|
"description": "Filter to posts by the given account. Handles are resolved to DID before query-time."
|
|
},
|
|
"lang": {
|
|
"type": "string",
|
|
"format": "language",
|
|
"description": "Filter to posts in the given language. Expected to be based on post language field, though server may override language detection."
|
|
},
|
|
"domain": {
|
|
"type": "string",
|
|
"description": "Filter to posts with URLs (facet links or embeds) linking to the given domain (hostname). Server may apply hostname normalization."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"format": "uri",
|
|
"description": "Filter to posts with links (facet links or embeds) pointing to this URL. Server may apply URL normalization or fuzzy matching."
|
|
},
|
|
"tag": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"maxLength": 640,
|
|
"maxGraphemes": 64
|
|
},
|
|
"description": "Filter to posts with the given tag (hashtag), based on rich-text facet or tag field. Do not include the hash (#) prefix. Multiple tags can be specified, with 'AND' matching."
|
|
},
|
|
"viewer": {
|
|
"type": "string",
|
|
"format": "did",
|
|
"description": "DID of the account making the request (not included for public/unauthenticated queries). Used for 'from:me' queries."
|
|
},
|
|
"limit": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 100,
|
|
"default": 25
|
|
},
|
|
"cursor": {
|
|
"type": "string",
|
|
"description": "Optional pagination mechanism; may not necessarily allow scrolling through entire result set."
|
|
}
|
|
}
|
|
},
|
|
"output": {
|
|
"encoding": "application/json",
|
|
"schema": {
|
|
"type": "object",
|
|
"required": ["posts"],
|
|
"properties": {
|
|
"cursor": { "type": "string" },
|
|
"hitsTotal": {
|
|
"type": "integer",
|
|
"description": "Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits."
|
|
},
|
|
"posts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "ref",
|
|
"ref": "app.bsky.unspecced.defs#skeletonSearchPost"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"errors": [{ "name": "BadQueryString" }]
|
|
}
|
|
}
|
|
}
|