mirror of
https://github.com/qdrant/landing_page.git
synced 2026-09-25 14:08:30 +02:00
master
18
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
ffa6101708 |
ci: apt-get update before installing imagemagick (#2780)
update-blog-preview-images has failed on every run since 2026-09-22 18:02,
including on master. The install step runs without apt-get update, so the
runner image's package index goes stale as soon as Ubuntu publishes a
security update, and the pinned ghostscript version 404s:
E: Failed to fetch .../ghostscript/libgs10_10.02.1~dfsg1-0ubuntu7.8_amd64.deb
404 Not Found
E: Unable to fetch some archives, maybe run apt-get update
Unrelated to any content change: it fails during apt, before the script runs.
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
|
||
|
|
78beef7e01 |
feat(viz): Introduce chart toggles (#2782)
* feat(viz): switch a chart between views Adds `views` to a chart spec: a segmented control above the chart that switches which measure it draws. Modelled on the charts in the author's own blog, which use the same control for the same job. Every view is rendered into the same committed SVG, one <g> each, and all but the first are inline-hidden. Switching shows one and hides the rest, so nothing re-renders and nothing is fetched on click. With JavaScript off a reader still gets a complete chart rather than dead buttons. A view is a patch over the base spec, so it can change the column plotted, the axis, the title and the y-max. Applies it to oversampling/recall, whose CSV already carried ndcg_at_10 while the chart only drew recall_at_10 -- the second measure was in the table but invisible in the picture. The default view is byte-identical to the chart published today, so the page looks the same until a reader picks the other tab. The Markdown output is unchanged and carries every view's columns, since it prints the whole CSV. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * fix(viz): the caption has to follow the view Caught this in a screenshot: the oversampling caption cites recall going 0.605 to 0.988, and it stayed put when the reader switched to the nDCG view, where every bar sits between 0.2786 and 0.3238. A caption is a claim about the numbers on screen, so leaving it fixed makes the figure lie. Each view after the first takes caption2=, caption3= and so on, alongside the existing caption= at the call site, where the rest of the prose lives. The build fails if a view has no caption rather than letting it inherit one. The figcaption is also the figure's accessible name, so it changes for screen readers too. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * style(viz): white label on the active toggle, and fewer comments The active segment took its colour from --qi-surface, which flips to near-black in dark mode, so the label sat dark-on-red. Neither surface clears AA on the accent anyway (4.30 light, 3.73 dark); white gives 4.77. Adds --qi-accent-ink for text sitting on the accent. Also cuts the comments this branch added from 21 lines to 9. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * fix(viz): Markdown output carries every view's claim The table is the whole CSV, so for a chart with views it holds every view's columns at once. The title and caption were still view 0's, so the .md read "Recall@10 by quantization" over a table that also carried nDCG. Now emits one caption per view, labelled, and the oversampling title no longer names a single measure. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Trigger CI * refactor(viz): call the view picker a toggle, not a switch `.qi-switch` in islands.scss is already a binary on/off control with a track and a knob. The chart's control picks one of N views, so it was borrowing a name that meant something else. viz-switch -> viz-toggle, data-viz-view-btn -> data-viz-toggle-btn, wireSwitch -> wireToggle. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * refactor(viz): resolve a chart's arguments in one place chart.html and chart.markdown.md both derived the id, the caption, the spec and the per-view captions, from eleven identical lines. The rules had already drifted: the HTML output refused a view missing its caption2=, while the Markdown output printed an empty claim for it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * fix(viz): refuse a per-chart width rather than stretch the chart Charts deliberately share one width: the SVG scales to the column, so a wider viewBox renders identical font sizes smaller. The manifest spread a spec over that default, so a spec setting "width" drew at its own size inside the 980-wide viewBox the shortcode builds, and came out stretched. No chart sets one today; this makes the next one a build error. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * test(viz): check each chart's CSV against the table in its post The same numbers live twice, in the CSV a chart is drawn from and in the markdown table above it. Nothing compared them, so correcting one and not the other publishes a chart that disagrees with its own table. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com> Co-authored-by: Abdon Pijpelink <abdon.pijpelink@qdrant.com> |
||
|
|
be56b1948b |
refactor(viz): keep chart viz data and config together (#2781)
Every chart's spec lived in one shared data/viz-charts.json array, keyed by an
id that was already the path to its files. Each chart is now self-contained:
assets/viz/<id>.{json,csv,svg}, one folder holding everything about it.
Because the id is the path, a spec no longer repeats it or the data path, and
the shortcode resolves a chart directly instead of scanning the array.
Drops three keys that were never decisions. width was 980 on all seven and now
lives in data/viz.json alongside the legend spacing, where the generator and
the shortcode read the same number. extraHeight was the legend's own offset
leaking out of the generator into both the spec and the viewBox, so it is
derived from the chart kind. Tooltip units come from the column suffix.
232 lines become 187 across 7 files, while adding the title that 5 charts were
missing. chart.markdown.md reads that title, so those five had no heading above
their table in the Markdown output.
Parses CSVs with d3-dsv instead of split(','), which would shift every column
right on a label containing a comma. Already installed as a Plot dependency;
now declared.
Every SVG is byte-identical and all 6 chart pages render identical HTML. The
only rendered change is the 5 restored Markdown headings.
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
|
||
|
|
0fccb0cac1 |
Publish each page's markdown at /path.md as well as /path/index.md (#2743)
* feat(build): publish each page's markdown at /path.md as well as /path/index.md Hugo writes the Markdown output format beside the HTML it belongs to, so a page at /articles/foo/ is published at /articles/foo/index.md. That is correct and it stays: it is what the llms.txt convention prescribes for directory-style URLs, it is the form /llms.txt already advertises for 670 pages, and it is the target of the <link rel="alternate" type="text/markdown"> we emit in every page head. What it is not is guessable. Every other documentation site I compared exposes a page's markdown by swapping the extension, so a client holding only a URL can construct /articles/foo.md directly instead of first fetching the HTML to read the alternate link: /articles/immutable-data-structures.md 404 -> 200 text/markdown /articles/immutable-data-structures/index.md 200 200 (unchanged) So publish both. A post-build step copies every public/**/index.md to public/**.md; the originals are untouched, so no published URL changes. Netlify already serves .md as text/markdown, and the files are small: 7.6 MB against a 1.4 GB build, 0.5%. Deliberately a build step rather than a Netlify redirect. A splat has to be terminal, so /articles/*.md is not a pattern Netlify accepts, and a rule that cannot be verified locally is worse than a copy that can. Adds npm run md:test, which builds the site, runs the script over the output and checks all 789 aliases exist and match their source byte for byte, that the canonical index.md and index.html are untouched, that nothing is written outside the publish directory, and that a second run overwrites nothing. Verified the tests fail when the script is stubbed out. The test deletes its build directory on exit. A build is ~1.4 GB, and a suite that leaves temp directories behind fills a disk faster than anyone notices. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * test(md): cut the alias tests down, and keep master's npm scripts Review: the tests were redundant. Two of the four asserted what cp does, and all four needed a full ~1.4 GB Hugo build to say it. Replaced with two tests over a synthetic directory, covering the only two things the script decides: skip the site root, never overwrite an existing file. 87 lines to 39, and the run drops from a full site build to 0.26s. package.json: this branch predates the charts work, so its scripts block replaced master's. Merging as-is would have silently deleted viz:test and viz:charts. Now keeps both and adds md:test. Also trims the script's comment header from 19 lines to 8. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * test(md): drop the npm script, run the test file directly package.json is the site's manifest; a runner alias for one shell script does not belong in it. The test runs as: node --test test/markdown/aliases.test.mjs package.json is now untouched by this branch, which also removes the risk of the merge dropping master's viz scripts. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|
|
6e4e414af5 |
Introduce interactive SVG charts (#2672)
7 charts across 5 posts, in 3 kinds: two-panel columns, grouped columns and faceted lines. Replaces 1,024 KB of raster screenshots with 71 KB of inline SVG, hover and keyboard focus included. Charts are generated from CSVs and committed, so a changed number shows up as a diff in review. Pages also build as Markdown, where the shortcode emits the source data as a table instead of the raw SVG. |
||
|
|
eaf34e82f4 |
Link the two Dust case studies to each other (#2681)
* Link the two Dust case studies to each other There are two Dust stories 15 months apart, and neither mentioned the other. They are also reached from different places: the customers catalog points at the 2025 one, while a Read Story card on the customers page and the RAG use-cases page point at the 2024 one. A reader arriving at either had no way to know the other existed. The 2024 article now points forward from its Outlook section, which already looks ahead to what Dust would build next. The 2025 article points back before its first section, for anyone who wants the origin story. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Move the forward link to the top of the 2024 Dust story At the end, in the Outlook section, it only reached readers who had already finished the older story. Anyone who wanted the current numbers needed it before they started reading, not after. It now sits above the opening paragraph and is reframed to say which story this is, rather than reading as a continuation of the outlook. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Update case study introduction for clarity --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|
|
b2fb2ce337 |
Fix a broken paragraph in the Dust case study, and the card's screen reader output (#2680)
Three defects found auditing the merged quote work. The Dust card at "solution of choice" had no blank line before or after it, so it rendered inside the paragraph. A <figure> implicitly closes a <p>, which left the following 60 words as a bare text node outside any paragraph: 16px instead of 18px, tighter leading, and no bottom margin. This is live on qdrant.tech today. Adding the blank lines restores it; the file's words are unchanged, only whitespace. The card also hid the company from screen readers. The logo carried alt="", and the company name is display:none whenever a logo is present, so on desktop a screen reader got the name and role and no company at all. The logo now uses the company as its alt text, which is what it conveys. The avatar becomes alt="" for the opposite reason - the name sits right beside it, so repeating it just made the name announce twice. Also restores the trailing newline on case-study-bayer.md. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|
|
222226ba42 |
Apply the quote component to more case studies, and add a script to find the rest (#2648)
* Apply the quote component to OpenTable, &AI and Dust Seven quotes, all verbatim. Only quotes that say something about Qdrant were lifted; setup and problem-statement quotes stay in the prose they were written for. OpenTable has three different speakers, so each card names its own. Two &AI quotes were split across "said Turner" in the original. Each card carries only the contiguous half about Qdrant, and the setup fragment stays in the prose - joining the halves would have meant editing his words, even though every word was his. Dust carried the same quote twice: once inside the alt text of Dust-Quote.jpg and again as prose below it. The image is gone and the words are a card, so the quote is now text rather than pixels and is no longer duplicated. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Add a quote-finding script, and promote two lead quotes Earlier passes over these files missed quotes because the search required an attribution verb near the quotation. Anything attributed on its own line with a dash, standing alone as an italic pull quote, sitting in a blockquote, or buried in an image's alt text was never surfaced. automation/find-customer-quotes.py reports all of those forms, and deliberately over-captures: it flags any quoted run of 25 characters or more outside front matter, code fences and existing shortcodes. A false positive costs a moment's reading; a missed quote ships. Across the 52 case studies it finds 201 quotes still in prose. Also promotes the strongest quote in two files to a lead card, taking the logo with it so it stays on the first card on the page: - opentable: "Creating a Qdrant Cloud cluster was one of the easiest parts of the project. It just worked." - and-ai: "With Qdrant, we scaled to a billion vectors and still respond in sub-second latency." Dust is left alone. Its one card follows a sentence written to introduce it, so moving it would orphan that sentence. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Move the OpenTable lead quote to one that carries its own context "Creating a Qdrant Cloud cluster was one of the easiest parts of the project" was sitting above every line of prose in the article. It only lands once you know there was a project and that it had hard parts, so as an opener it read as a punchline with no setup. It goes back after "Third, Qdrant Cloud provided a deployment path that was simpler than self-hosting", which is the context it was written against. The article already had a Lombardo quote near the top explaining why OpenTable built Concierge at all. That one needs nothing before it, and it already sat after the opening paragraph, so it becomes the lead card without being moved anywhere. A lead quote has to make sense to someone who has read only the title, and it belongs after the opening paragraph rather than above it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Show the customer logo on every quote card The logo used to sit only on the first card in each article, so later quotes carried no visual marker of who was speaking beyond the name and role. Adds it to the remaining 18 cards: 10 in Bayer, 3 each in OpenTable and Sprinklr, 2 in &AI. Note this hides the company name on those cards, since the component drops it when a logo is present. The name still appears on narrow screens, where the logo is hidden. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Convert the quotes still left in prose in &AI and Dust Working through what find-customer-quotes.py reported rather than stopping at the first few. &AI goes from 3 cards to 8, Dust from 1 to 4. Where the original splits a quotation across "said Turner", the card takes only the contiguous half that says something about Qdrant and the setup half stays in the prose, so nothing is joined and no words change. What is left in those two files is deliberate: the setup halves, and Polu's remarks about LLMs and fine-tuning in general, which are context rather than anything about Qdrant. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Drop the quote-finding script from the branch Keeping it out of the repo. It was only ever scaffolding for this conversion work, not something the site needs to build. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Spend the avatar and logo only on the quotes worth marking out Putting them on every card spent them on none - the face and the logo are what make a card read as a headline, so they only work if most cards go without. Bayer goes back to how it was on master: two marked out of twelve. Each of the others keeps them on the one or two quotes making the strongest claim: - opentable: the lead, and "Creating a Qdrant Cloud cluster was one of the easiest parts of the project. It just worked." - and-ai: the lead, and "Qdrant was the only one that handled that load out of the box." - dust: "we were able to reduce our cost by 2x", the one with a number. - sprinklr: "Retrieval is the foundation of all our AI tasks." Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Dust and Sprinklr fixes from review Two quotes go back into the prose they came from. "The early setup worked out of the box nicely" sits inside a numbered list item, which is the in-bullet case that should have been left alone. "Qdrant is a very fast and high quality retrieval system" does not say much the surrounding benchmark numbers have not already said. Both restored exactly. Deletes Dust-Quote.jpg, now that nothing references it, and bolds "reduce our cost by 2x" in the quote that reports it. Embeds the Vector Space Talk with Stanislas Polu after the paragraph linking to it. Adds Raghav Sonavane's photo, supplied by the team, cropped to head and shoulders like the other avatars. It goes on the one Sprinklr quote that carries the logo. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Rejoin the &AI quotes that were split across an attribution tag Each of these is one statement in the original, interrupted only by "said Turner". I had put the second half in the card and left the first stranded in the prose, so the card carried half a thought and the setup sat above it going nowhere. The tag goes, the comma that introduced it becomes a period, and the two halves join. No words change - checked that both halves still appear verbatim in the original either side of the join. Affects five quotes: retrieval over generation, the scale benchmark, the opinionated docs, multi-tenancy, and the billion-dollar case. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|
|
eff51a142b |
Add a customer quote component with customer avatar and logo (#2644)
* Add a customer quote component and apply it to three case studies
Customer quotes in case studies are written four different ways -
`> "quote" - Name, Title`, italic text with an italic attribution line,
quoted sentences buried mid-paragraph, or nothing at all. None of them
produce a visually distinct, attributed quote.
The root cause is that the six existing testimonial partials all read
`.Page.Params`, so they only work on landing pages driven by data files.
A case study written in markdown has no way to reach any of them, and
there was no quote shortcode, so authors fell back to raw markdown.
Add a `quote` shortcode with a matching stylesheet. Only `text` and
`name` carry the quote; `role`, `company`, `avatar`, `logo` and
`featured` are all optional and degrade gracefully.
Apply it to one case study per broken convention:
- bayer: attribution glued onto the end of the quoted sentence,
where the hyphen before the name collides with the one
inside the job title. Converts 3 of 12; the rest are a
mechanical repeat.
- tripadvisor: quote sat at line 57 of 64. Promoted to the lead quote
and trimmed to a contiguous excerpt, with an ellipsis
marking the omitted middle. Moved, not duplicated.
- sprinklr: quote buried mid-paragraph. No avatar exists for this
speaker, which exercises the graceful degradation.
The stylesheet nests its descendants so every rule carries two classes
of specificity. The article stylesheet targets bare `blockquote`, `p`
and `figcaption` under `.qdrant-post__content`, which otherwise wins
over a single-class selector and re-applies its own card and margins.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Convert Bayer's remaining nine quotes to the quote component
Finishes the conversion started in the previous commit: all twelve quotes
in the article now use the shortcode, and no bare blockquotes remain.
All twelve come from the same speaker with an identical attribution
suffix, so this was a mechanical pass. The repeated attribution is worth
a look in review - twelve cards each carrying the same face, name, role
and Bayer logo may be heavier than it needs to be when the speaker never
changes.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Slim the repeated attributions in the Bayer case study
Every quote in the article is from the same speaker, so twelve cards each
carrying the same face and Bayer logo was heavier than it needed to be.
The lead quote keeps the full treatment. The other eleven keep name and
role, which still identifies the speaker for a reader who lands partway
down the page, but drops the repeated avatar and logo.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Add the Sprinklr logo to the Sprinklr quote
Fills the empty right-hand side of the card. No headshot exists for this
speaker yet, so the avatar slot stays empty until one is supplied.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Restore both customer quotes to their published wording
The Tripadvisor quote had a sentence cut out of it and replaced with an
ellipsis, and the Sprinklr quote had its trailing comma changed to a
period once it stood on its own. Neither was ours to decide. Both now
match the published text exactly.
Audited all 14 quotes on this branch against master, comparing words and
punctuation. The twelve Bayer quotes were already verbatim.
Two changes to attribution remain, since they are formatting rather than
the speaker's words, but are worth a look in review:
- Bayer's title renders as "Senior Director AI/ML, Precision Medicine &
Insights" instead of the original hyphen, which was what collided with
the dash before his name.
- Tripadvisor's attribution used to link to Rahul Todkar's LinkedIn. The
component has no link support, so that link is now only in the body.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Drop the trailing comma from the Sprinklr quote
The comma joined the quotation to "explains Sonavane" in the original
sentence. Standing on its own in a block, it reads as an unfinished
sentence, so the quote ends in a period.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Restore the two attribution details lost in the conversion
Add a `name_url` param so a speaker's name can link to their profile, and
use it to restore the link to Rahul Todkar's LinkedIn that the original
Tripadvisor attribution carried.
Put back the hyphen inside Hooman Sedghamiz's job title. It was changed
to a comma because the original line ran two hyphens together - one
separating the quote from the speaker, one inside the title itself - and
they were indistinguishable. The component gives the speaker its own row,
so the first hyphen is gone and the one in the title reads clearly again.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Lift the remaining standalone Sprinklr quotes into the component
Four more were buried in prose: one closing a paragraph, one opening
another, one mid-paragraph, and one sitting as its own line. All are now
quote cards, and the logo moved to whichever card comes first on the page.
Words are verbatim. The only change is the trailing comma that joined each
quote to "says Sonavane", which belongs to our sentence rather than to the
speaker and goes with it.
Three quotes inside the "Why Qdrant?" bullet list are deliberately left
alone - lifting those would restructure the list, which is a layout call.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Put the "key challenge" quote back into the prose
It states the problem Sprinklr had, not anything about Qdrant, so on its
own in a card it reads as context-free. It did its job as the setup
sentence it was written to be. Restored exactly as published, original
comma included.
Sprinklr keeps the four quotes that stand on their own.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Reformat the benchmark code block in the Sprinklr case study
Every record was split across two lines with a blank line between them and
nothing was indented, so the block rendered as a wall of fragments. Each
record is now one indented line.
The fence was tagged json while the contents are Python - a `data = [...]`
assignment with single-quoted keys - so nothing was highlighted. Corrected
to python.
The records were parsed and re-emitted rather than retyped, and the values
were compared before and after, so the data is unchanged.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Stop repeating the company name next to its logo
A card showing the Bayer logo read "Senior Director AI/ML - Precision
Medicine & Insights, Bayer" right beside it. The logo already says which
company it is.
The name is hidden with CSS rather than dropped from the template, because
the logo is hidden below the md breakpoint and the company name has to
carry that job again on narrow screens.
Cards with no logo are unchanged and still name the company.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Give the two strongest Bayer quotes the visual weight
All twelve quotes stay as cards. The article was written with twelve pull
quotes and that structure is the author's, not ours to rewrite. What
changes is which ones carry the face and logo, and where two of them sit.
The omnimodal quote becomes the lead. It is the strongest thing in the
piece - a senior director at a 116,000 person company saying vector
databases outgrew RAG, and that "no one had" an omnimodal search engine
until this one. We could not make that claim ourselves.
The 20% efficiency quote gains the face and logo where it already sits. It
is the only quantified outcome spoken rather than reported, and a number
is worth more in the customer's voice than in ours.
The grounding quote that used to lead moves into the agents section, after
the paragraph introducing deep agents - "if you remove the search from the
agent" is what that section is about. It becomes a light card.
Also restores the blank line after seven cards that were glued to the
paragraph following them.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Highlight the grounding quote instead of the 20% one
"20% efficiency" has no denominator - efficiency of what, measured how -
and it ends on "it wouldn't be possible without the components", which
does not say which components. It stays as a card, just not a highlighted
one.
The grounding quote takes the second face and logo. "If you remove the
search from the agent, the results go back to two years ago" is the most
concrete line in the piece, and it complements the lead rather than
repeating it: one says what Qdrant became, the other what breaks without
it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Set the lead quote at the same size as the others
The lead quote was 24px against 20px elsewhere, which made Tripadvisor's
long quote a wall of text. Position, the face and the logo already mark it
out. Drops the mobile override that only existed to scale the 24px back
down.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Apply the designer's type settings to the quote text
font-size 1.125rem, line-height 1.65rem, margin-bottom 1.5rem.
The margin needed the rule nested a level deeper to take effect. The
article stylesheet sets `blockquote p:last-child { margin-bottom: 0 }`,
which outranked the flat selector, so the spacing was being dropped.
Removes the narrow-screen override, which set the same 18px the designer
asked for and differed only in line-height.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
||
|
|
0218211790 |
Clarify shard_number semantics in multitenancy article (#2638)
Under custom sharding, shard_number is the number of physical shards per shard key, not the number of shard keys. The example used shard_number=2 alongside two create_shard_key calls, which reads as if the value had to match the number of keys. Set it to 1, matching the canonical create-collection/with-custom-sharding snippet, and note what the parameter actually controls. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|
|
020024aea2 |
Merge pull request #1865 from qdrant/disable-quantization-guide
Add snippets to disable quantization in guide |
||
|
|
f7368f0df8 | Add more snippets | ||
|
|
3b60554c4f | Add snippets to disable quantization in guide | ||
|
|
18b8be4ed2 |
Merge pull request #1851 from qdrant/distributed-deploy-custom-shards
Add dedicated section for creating custom shards in distributed deployment guide |
||
|
|
f94c78b93a | fix API ref link | ||
|
|
95a331e803 | Apply suggestions | ||
|
|
0e9f951738 | Add dedicated section for creating custom shards in distributed deployment guide | ||
|
|
80f2b6f978 |
feat: Update benchmarks (#386)
* feat: Update benchmarks * fix: Improve blog * feat: Add result files with 1 and 100 parallel clients * fix: Add elasticsearch benchmark numbers from dbpedia 1M openai embeddings * feat: Make mean time (latency) the default metric for the 2nd plot * feat: Improve conclusions based on es results * fix: Make charts work on changing dataset * fix: Typo in table * feat: Update results with quantization * fix: Show a single graph to keep things simple * fix: Improve words * review fixes * add link to open-source * feat: Improve units to make results more readable * fix: Small grammatical mistake * fix: Make search threads value constant based on plot metric * feat: Make dataset num vectors more readable * fix: Spacing in table * feat: Add results from the latest Redis benchmarks * feat: Update benchmarks page * feat: Update date and some of the points * feat: Update benchmarks and content * chores: Improve observations * feat: Improve observations and put it after the graph --------- Co-authored-by: generall <andrey@vasnetsov.com> |