Comments (5)
This made me think of passing a bias or weighting factor per site we are searching from, so that you could prioritize hits on the site you are on, but still see hits from the others.
from pagefind.
Great call, we actually need to implement this for the CloudCannon marketing stack as well — under the hood our docs, blog, marketing, changelog and community sections are all distinct sites 😅
A basic example would look something like:
new PagefindUI({
element: "#search",
baseUrl: "/",
merge_index: [
"/_pagefind/",
"/blog/_pagefind/",
"/docs/_pagefind/",
"https://example.com/_pagefind/", // Assuming this URL has CORS enabled
]
});
Still a little discovery work to do — are there any features you would like integrated into this? For instance, with the above setup you could filter by site if you added a distinct data-pagefind-filter
to each of your sites, but this could be made easier if we expanded the config to something like:
new PagefindUI({
element: "#search",
baseUrl: "/",
merge_index: [
{
bundle: "/_pagefind/",
filters: {
site: "Main"
}
},
{
bundle: "/blog/_pagefind/",
filters: {
site: "Blog"
}
},
{
bundle: "/docs/_pagefind/",
filters: {
site: "Docs"
}
},
{
bundle: "https://example.com/_pagefind/", // Assuming this URL has CORS enabled
filters: {
site: "External"
}
},
]
});
Allowing you to merge in filters & metadata at this level, which seems like a better idea.
Keen to hear if you have any other thoughts for how this should be implemented! I'll be looking at tackling this within the next fortnight
from pagefind.
Good idea. I'll look at scoping that in :)
from pagefind.
Hi @bwklein!
This is all released in v0.8.0 🎉 Including support for merging filters into each site, and a weighting factor per site 🙂
from pagefind.
Thank you @bglw !
from pagefind.
Related Issues (20)
- Is there a way to use this library with Next.js ISR? HOT 1
- danish translation HOT 2
- Support Text Fragments HOT 3
- Sorting in the Default UI HOT 7
- Docs: `resultTemplate` UI config option is missing HOT 2
- Support numbers as sort values through the NodeJS API
- don't understand how to modify pagefind-ui. and how to keep it between reindexing HOT 1
- Support Search API in Node.js HOT 1
- Documented bundlePath override does not work HOT 1
- Deduplicate Pagefind filters
- Optionally output non-sharded data HOT 4
- Hosting with dotnet HOT 1
- Cannot install on Windows HOT 4
- Handle relative image URLs in the Pagefind UI HOT 1
- Use ellipsis for excerpts in default UI HOT 1
- Allow searching of metadata HOT 2
- Update "Clear" button CSS styles for improved accessibility
- Alias accented characters HOT 3
- Have official documentation on how to integrate pagefind into meta-frameworks like Next.js, Nuxt, SvelteKit, etc. HOT 5
- Allow parsing for otherwise ignored elements HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pagefind.