问题标签 [lunrjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 使用 Firebase 和 Lunr.js 或其他帮助库的无服务器搜索引擎
Firebase 还没有真正的全文搜索功能,所以我想知道 Lunr.js 是否可以提供帮助(或其他库)。我想知道如何或创建一个好的方案来直接在 Firebase 中索引数据,如果 Lunr.js 可以帮助我解决这个问题?我想在不从 Firebase 下载大量数据的情况下实现搜索,而只是部分索引信息。任何建议的方案或库来处理索引?
PS。请不要提供服务器代码。我买不起另一层 :D 谢谢!
javascript - 对 lunr.js 的希腊语支持
在 lunr 中为希腊词注册新的词干分析器功能无法按预期工作。这是我在codepen上的代码。我没有收到任何错误,该功能stemWord()
在单独使用时工作正常,但无法阻止 lunr 中的单词。以下是代码示例:
javascript - elasticlunr是否支持精确匹配
我找不到任何关于精确匹配搜索的信息elascticlunr.js
。只是好奇它是否受支持或可能以其他方式?
使用
谢谢。
javascript - 无法让 Lunr.js 在中间人构建的 Amazon S3 站点上工作。在本地服务器上正常工作
问题:Lunr.js 索引并加载静态站点内容 JSON 文件,但在部署时不起作用。它确实在 LiveReload 的开发中工作,但在部署时不起作用。
我在 AWS 上设置了 CORS 选项以允许所有请求,但它没有效果。
框架:中间人4.0
宝石:中间人搜索
JS : Lunr.js 0.7.0(尽管问题与 0.7.2 重复)
主机:Amazon S3 静态站点托管
当页面加载时,我立即在控制台中收到此错误,因为下载和缓存搜索索引的 AJAX 请求是一个自执行函数表达式。
这是我的堆栈跟踪:
下面是兔子洞。知道如何解决这个问题吗?
all.js:95 未捕获类型错误:无法读取未定义的属性“版本”
在 Function.t.Index.load (all.js:95)
在 Object.success (all.js:95)
带我到 Lunrjs 自执行函数表达式的结尾。
在你(all.js:3)
在 Object.fireWith [as resolveWith] (all.js:3)
在我 (all.js:4)
在 XMLHttpRequest。(all.js:4)
我正处于一个我不明白我不明白的地方以及在哪里进行调查以弄清楚我是否导致了这个问题的地步。这可能是 Lunrjs、Amazon S3、CORS 或中间人问题。
javascript - 为什么 lunr 不索引 JSON 数组中的多个字符串?
Lunr 在查找大多数结果方面做得很好,但我不明白为什么它不会返回 JSON 数组中包含的多字字符串。
这是一个示例 JSON 文件,可用于了解我的数据的结构:
当我搜索“迈阿密”和“未来”时,lunr 返回节日。但是,当搜索“Kendrick”或“Kendrick Lamar”时,lunr 不会返回音乐节。
相关代码:
谢谢!
javascript - 分配后无法将文档添加到 lunr 索引(TypeError: idx.add is not a function)
我正在尝试创建一个 lunr 索引并能够在分配后向其中添加文档。这是我正在尝试做的一个稍微简化的版本:
这给了我以下错误:TypeError:idx.add 不是函数。我看过多个教程说这是你应该能够做到的。
如果我在分配 idx 时添加文档,它只对我有用;
我仍然是一个 javascript 菜鸟,所以这可能与 lunr 不一定相关。
javascript - 如何处理异步循环?
我目前正在开发一个基于 lunr.js 在 JavaScript 中实现全文搜索客户端的项目。
问题是,我正在努力构建然后保存索引,因为我有几个异步调用。
提前致谢。
javascript - lunr 没有将精确匹配作为首要任务返回
我lunr (elastic lunr0.9.5)
在网络浏览器中用作搜索引擎。它既简单又非常快。但是当它有更多时,它不会在第一个位置列出完全匹配的对象。
我在 Typescript 中的 lunr 配置
当我搜索pan d ca
文本时,它正在返回,
Lunr 修剪可能是上述结果的原因之一,所以我lunr.trimmer
从它的管道执行中删除了它仍然给出相同的结果。
上面的结果表明,完全匹配的字符串(PAN D C
)得到较低的分数(0.011554433713104873
)。我错过了这里的任何配置吗?
我需要精确匹配的字符串应该比其他字符串获得最高分,我该如何实现?
javascript - 搜索多个词 lunrjs
根据lunrjs的官方文档:
“还支持搜索多个词。如果文档与至少一个搜索词匹配,它将显示在结果中。搜索词与 OR 组合”。
有没有办法实现这一点,只有当文档匹配所有搜索词时才会显示结果?
将这些数据编入索引:
如果您按以下方式搜索:
我希望只有一个结果忽略其他两个,因为它们不包含所有术语,只有几个:
但我所拥有的是:
提前感谢您的任何意见。