home.social

#fusejs — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #fusejs, aggregated by home.social.

  1. Как я пытался сделать идеальный нечёткий поиск (и почему в итоге пришлось писать 5 уровней скоринга)

    Я делаю Beetroot — клипборд-менеджер для Windows на стеке Tauri + React + Rust + SQLite. В моей ежедневной базе 1000+ записей: куски кода, URL-ы, стектрейсы, SQL-запросы, переписки из мессенджеров. Поиск по всему этому должен работать мгновенно и попадать точно в цель. Сначала я пошёл по простому пути: подключил популярную библиотеку Fuse.js и думал, что задача решена. Но реальные данные буфера обмена оказались для неё патологическим кейсом. Эта статья — про путь от «просто подключи готовую либу» до самописного 5-уровневого движка с мерж-скорингом. Два дня, 8 итераций, пара красивых продуктовых багов по дороге. Смотреть эволюцию поиска

    habr.com/ru/articles/1010086/

    #поиск #алгоритмы #typescript #fusejs #фронтенд #оптимизация #буфер_обмена

  2. Как я пытался сделать идеальный нечёткий поиск (и почему в итоге пришлось писать 5 уровней скоринга)

    Я делаю Beetroot — клипборд-менеджер для Windows на стеке Tauri + React + Rust + SQLite. В моей ежедневной базе 1000+ записей: куски кода, URL-ы, стектрейсы, SQL-запросы, переписки из мессенджеров. Поиск по всему этому должен работать мгновенно и попадать точно в цель. Сначала я пошёл по простому пути: подключил популярную библиотеку Fuse.js и думал, что задача решена. Но реальные данные буфера обмена оказались для неё патологическим кейсом. Эта статья — про путь от «просто подключи готовую либу» до самописного 5-уровневого движка с мерж-скорингом. Два дня, 8 итераций, пара красивых продуктовых багов по дороге. Смотреть эволюцию поиска

    habr.com/ru/articles/1010086/

    #поиск #алгоритмы #typescript #fusejs #фронтенд #оптимизация #буфер_обмена

  3. Как я пытался сделать идеальный нечёткий поиск (и почему в итоге пришлось писать 5 уровней скоринга)

    Я делаю Beetroot — клипборд-менеджер для Windows на стеке Tauri + React + Rust + SQLite. В моей ежедневной базе 1000+ записей: куски кода, URL-ы, стектрейсы, SQL-запросы, переписки из мессенджеров. Поиск по всему этому должен работать мгновенно и попадать точно в цель. Сначала я пошёл по простому пути: подключил популярную библиотеку Fuse.js и думал, что задача решена. Но реальные данные буфера обмена оказались для неё патологическим кейсом. Эта статья — про путь от «просто подключи готовую либу» до самописного 5-уровневого движка с мерж-скорингом. Два дня, 8 итераций, пара красивых продуктовых багов по дороге. Смотреть эволюцию поиска

    habr.com/ru/articles/1010086/

    #поиск #алгоритмы #typescript #fusejs #фронтенд #оптимизация #буфер_обмена

  4. Как я пытался сделать идеальный нечёткий поиск (и почему в итоге пришлось писать 5 уровней скоринга)

    Я делаю Beetroot — клипборд-менеджер для Windows на стеке Tauri + React + Rust + SQLite. В моей ежедневной базе 1000+ записей: куски кода, URL-ы, стектрейсы, SQL-запросы, переписки из мессенджеров. Поиск по всему этому должен работать мгновенно и попадать точно в цель. Сначала я пошёл по простому пути: подключил популярную библиотеку Fuse.js и думал, что задача решена. Но реальные данные буфера обмена оказались для неё патологическим кейсом. Эта статья — про путь от «просто подключи готовую либу» до самописного 5-уровневого движка с мерж-скорингом. Два дня, 8 итераций, пара красивых продуктовых багов по дороге. Смотреть эволюцию поиска

    habr.com/ru/articles/1010086/

    #поиск #алгоритмы #typescript #fusejs #фронтенд #оптимизация #буфер_обмена

  5. Je viens de publier la version 0.6.0 de #Gibson mon moteur de #blog #markdown.
    La grosse nouveauté est l'ajout d'un moteur de recherche interne en JS. Grosse galère à implémenter avec #alpinejs et #fusejs heureusement j'ai fini par tomber sur ce blog qui m'a donné des pistes luckymedia.dev/blog/integrate- (celui là n'est plus vraiment à jour gummibeer.dev/blog/2021/static )

    codeberg.org/fredix/gibson/rel

  6. Je viens de publier la version 0.6.0 de #Gibson mon moteur de #blog #markdown.
    La grosse nouveauté est l'ajout d'un moteur de recherche interne en JS. Grosse galère à implémenter avec #alpinejs et #fusejs heureusement j'ai fini par tomber sur ce blog qui m'a donné des pistes luckymedia.dev/blog/integrate- (celui là n'est plus vraiment à jour gummibeer.dev/blog/2021/static )

    codeberg.org/fredix/gibson/rel

  7. Eleventy + web components is 🥰

    I added a quick search to my blog:
    jschof.dev/

    Click search, or hit cmd + k (ctrl + k on windows) to see a quick fuzzy search of my posts.

    Eleventy serializes out the entries for the search statically, and the quick search web component takes it up and renders!

    #webcomponents #litjs #fusejs

  8. Eleventy + web components is 🥰

    I added a quick search to my blog:
    jschof.dev/

    Click search, or hit cmd + k (ctrl + k on windows) to see a quick fuzzy search of my posts.

    Eleventy serializes out the entries for the search statically, and the quick search web component takes it up and renders!

    #webcomponents #litjs #fusejs

  9. Eleventy + web components is 🥰

    I added a quick search to my blog:
    jschof.dev/

    Click search, or hit cmd + k (ctrl + k on windows) to see a quick fuzzy search of my posts.

    Eleventy serializes out the entries for the search statically, and the quick search web component takes it up and renders!

    #webcomponents #litjs #fusejs

  10. 🔖 Have you tried the latest #developer tutorial from the @dailyco blog?

    💡 Learn how to enhance #UX and improve search performance in #ReactJS apps by implementing client-side search with #FuseJS.

    🏁 Get started ➡️ daily.co/blog/implementing-cli

    #React #JavaScript #programming

  11. Even with #fuseJS doing the fuzzy leg-work, #coding a custom search function to work across #Spinoza's texts and letters in 3 languages and account for multiple results in sometimes very long strings is really difficult to fine-tune. This latest attempt seems to be working well! I'll push this to Preview shortly.