【问题标题】:Fuzzy search in JavaScript with results sorted by relevancyJavaScript 中的模糊搜索,结果按相关性排序
【发布时间】:2018-12-24 15:02:25
【问题描述】:

javascript 中是否有一种方法可以搜索数组并根据相关性返回结果,类似于 Apache Solr 全文搜索功能?

例子:

var testData = [
  '101',
  '102C',
  '103B',
  'A',
  'BD',
  'AB',
  'A102B',
  'A1',
];
//if search Text is 102
var searchText = "102";
// results would be 102C, A102B

//if search Text is 102B
var searchText = "102B";
// result would be A102B, 102C

//if search Text is A
var searchText = "A";
// result would be A, A1, AB, A102

相关问题:stackoverflow.com/questions/5324798/

使用 JavaScript 解决此问题的最佳方法是什么?

【问题讨论】:

  • 那么为什么 102 不返回 A102B?然而 102B 返回 102C - 似乎是任意逻辑,比实际逻辑更难编码
  • 最相似是什么意思?它是具有给定字符串的子字符串的字符串集吗?
  • @user3808826 感谢您的评论,最相似的意思是数组中最相似的文本。我从服务器获取数据,但数据不是标准化的,所以我需要从数据中找到最相同的关键字。相关问题:stackoverflow.com/questions/5324798/…
  • 你好,欢迎来到 SO!你的问题有几个问题。首先,如前所述,您的逻辑有点不清楚-您需要提供更多详细信息来说明“最相似”的含义。其次,您的问题并未表明您已经进行了任何尝试或进行了自己的任何研究。由于 StackOverflow 是帮助您解决特定问题的资源,它依赖于提问者表明他们在来到这里之前已经做出了自己的努力。请编辑您的问题,以显示您为自行解决此问题所做的任何尝试和/或研究。
  • 我们在这里查看 indexof 吗?我想我们有点,但仍然需要在每个中返回值。

标签: javascript fuzzy-search relevance


【解决方案1】:

您似乎正在寻找基于相关性返回结果的模糊搜索功能。看看 Fuse.js,它提供了类似 Solr 的对 JavaScript 中的数组和对象的搜索。

http://fusejs.io

【讨论】:

  • 谢谢,fuse.js 是很好的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-03
  • 2012-01-28
  • 2011-11-26
  • 2015-11-21
  • 2014-05-24
  • 2011-01-26
  • 1970-01-01
相关资源
最近更新 更多