首页 > 其他分享 >Search with Orama

Search with Orama

时间:2024-12-01 11:33:11浏览次数:7  
标签:Search OramaCloud 实现 配置 Orama UI 搜索

1.前言

在不久之前,我把 DevNow 的搜索组件通过 Lunr 进行了重构,从前端角度实现了对文章内容的搜索,但是在使用体验上,感觉不是特别好,大概有如下几个原因:

  • 社区的文章数量比较少,项目的 Commit 也停在了4年前;
  • 中文搜索的问题,虽然可以通过 lunr-languagesstemmerSupport 等库来实现中文分词搜索,但是分词效果和搜索结果上差强人意。
  • 当文件多了之后,本地构建的索引文件会比较大,导致加载速度变慢。

所以其实一直想找一个更好的方案,但是一直没有找到合适的方案。如果文章内容是开源的,那么可以通过 DocSearch 来实现搜索,但是 DevNow 的文章内容是私有的,所以只能通过其他方式来实现搜索。

最近偶尔看到了一片文件是介绍 Nodejs 新官网通过 Nextjs 来重构,部署在了 Vercel 平台上,恭喜 Vercel 喜提一枚合作伙伴。

很明显,比之前的官网看起来更像一个技术社区网站,UI 也更符合现代的设计。有点扯远了,在浏览官网的时候发现新官网多了一个全局搜索,在体验之后发现整体体验不错,发现是基于一个开源项目 Orama实现的,Orama 也提供了 OramaCloud 的云服务,提供免费版(可以放心白嫖),这里是各个版本的权限对比

这个是 algolia 搜索服务的版本对比

整体来说,OramaCloud 是一个非常强大的搜索库,提供了非常多的功能,免费版很有诚意,对于一般小型的网站来说足够用了。先面介绍下实现的过程。

2.OramaCloud 配置

2.1 创建 OramaCloud 账号

在官网注册相关的的账号。

2.2 创建索引

在后台里创建网站的索引,如下图:

这里 Presets 选项要选 Website, 然后点击按提示 部署 就好。待部署完成后,开始在自己的网站配置。

2.3 网站配置

2.3.1 SDK 配置

这里提供了两种配置方式,一种是通过 SDK 来实现,具体在 Usage 菜单中可以看到相关内容,如下:

2.3.2 UI components

推荐使用 UI components 来配置,这样可以使用 OramaCloud 提供的 UI components 来实现搜索,避免自己来实现搜索相关的UI:

最总效果图如下:

Orama 还提供来了 Chat 功能,这个功能可以让用户通过 Chat 来实现搜索,大家可以自行配置体验


原文链接:Search with Orama

标签:Search,OramaCloud,实现,配置,Orama,UI,搜索
From: https://blog.csdn.net/Jackxiaochen/article/details/144167051

相关文章

  • 云计算之elastaicsearch logstach kibana面试题
    1.ELK是什么?ELK其实并不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写Elasticsearch:负责日志检索和储存Logstash:负责日志的收集和分析、处理Kibana:负责日志的可视化这三款软件都是开源软件,通常是配合使用,而且又先后归于Elastic.co公司名下,故被简称为ELK......
  • 第六章 ElasticSearch
    1.初识ElasticSearch1.1倒排索引1.2什么是文档和词条?每一条数据就是一个文档,文档会被序列化成json存储在elasticsearch中对文档中的内容分词,得到的词语就是词条1.3什么是正向索引?基于文档id创建索引。查询词条时必须先找到文档,而后判断是否包含词条1.4什么是......
  • C#里怎么样使用Array.BinarySearch函数?
    C#里怎么样使用Array.BinarySearch函数?因为二分算法如此重要,所以要多加练习。但是它的返回值,也有三种状态,导致很多人使用它的时候,也感觉到迷惑的。在这里的例子演示了三种返回值的使用: /**C#ProgramtoSearchanelementwithArrayIndices*/usingSystem;c......
  • 【Elasticsearch】容器日志管理:提升容器化应用运维效率
    ......
  • UOS服务器版,在docker中使用elasticsearch碰到的权限问题
    对docker没研究,对elasticsearch也没研究,主打一个拿来就用,能跑就行.有些系统(主要指UOS服务器版,最近碰到)docker的版本是podman,如果直接yuminstall docker装上的可能是(因为另一台没问题)podman版本,运行起来乱七八糟问题,可以卸载podman,然后yuminstalldocker-ce......
  • ELK使用elasticSearch密码的方式登录Kibana管理Web界面
    一、在logstash配置文件中加入elasicsearch的用户密码logstash.conf中配置用户密码二、在Kibana中的配置更改kibana.yml中配置elasticsearch用户密码,es7为dockerContianerName或者IP地址三、elasticsearch中必须已经开启并设置好了密码四、登录kibana管理界面五、使......
  • Elasticsearch常用查询及Kibana使用
    Elasticsearch常用查询及Kibana使用背景搭建好Nginx=>Filebeat=>Logstash=>Elasticsearch的日志获取通道后,通过jmeter配置产生10000条请求查看jmeter配置查看聚合报告Devtools工具进行查询查询reponseTime90%,95%,99%分割线GETnginx-2024.11.28/_search?size......
  • ORB-SLAM2源码学习:ORBmatcher.cc:ORBmatcher::SearchByProjection通过地图点投影进行特
    前言在ORB-SALM2中,使用最多的匹配方式就是投影匹配的方式SearchByProjection(),根据参数列表的不同可以有不同的函数重载。1.原理:1.投影地图点的来源:1.恒速模型追踪时,地图点来自前一个普通的帧。2.局部地图跟踪时,地图点来自所有的局部地图点。3.重定位时,地图点来自所有的候......
  • elasticsearch安装ik分词器
    本文主要记录如何安装ik分词器,如果你刚好刷到了这篇文章,对你有所帮助。IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。采用了特有的“正向迭代最细粒度切分算法“,支持细粒度和最大词长两种切分模式;具有83万字/秒(1600KB/S)的高速处理能力。采用了多子处理器分......
  • opensearch基础知识
    opensearch基础ClusterContainsoneormorenodesManagedbyamasternodeNodeSingleserverpartofaclusterTypes:Master-eligible,data,ingest,etc.IndexCollectionofdocumentswithsimilarcharacteristicsManagedbyshardsShard(分片):......