Javascript 部分搜索

标签 javascript algorithm search

基本上我有一个数组,我需要对其执行部分文本搜索(所有元素都是英文字符串)。该数组可以包含大约 1000 个元素,我需要能够(有效地)在每个元素中搜索一个字符串。

我唯一的选择是对数组进行完整循环吗?针对 .match() 运行每个字符串?或者会有更好的选择吗?

我的一个想法是将 1000 个元素的数组拆分为大约 100 个的 block ,然后 .join.match() 该部分。这样,如果找到一个元素,我们可以查看它,如果没有,我们可以移动到下一个 block 。显然需要稍微调整 block 大小,但这会提供可行的解决方案吗?

最佳答案

您可以尝试使用 inverted index . Here's a nice implementation in Javascript ,非常符合 Lucene 风格。虽然我想知道仅 1000 个元素是否值得,但我想这也取决于每个元素有多长。

关于Javascript 部分搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5145108/

相关文章:

javascript - jquery 扩展和收缩行只适用于第一个

algorithm - 从 “Physically Based Rendering"开始在 KD-Tree 构造中拆分边界框

apache - Solr查询精确匹配和部分匹配搜索查询

javascript - 为什么 IE 无法加载某些图像?

javascript - 按钮上的欧芹验证 + 自定义验证器不起作用

php - 在倒排索引算法中避免竞争条件的技术

regex - Notepad++ 正则表达式查找/替换使用向后看不起作用

mysql - 前缀匹配 MySQL 索引 : LIKE word% vs. MATCH 'word*' 用于搜索结果自动完成

javascript - 相邻依赖 AJAX(改进)

c++ - vector 的排序 vector