【问题标题】:Autocomplete in .net with mongodb使用 mongodb 在 .net 中自动完成
【发布时间】:2018-02-23 01:18:03
【问题描述】:

我正在通过 .Net 使用 MongoDB。我想做一个自动完成 api。 但我不知道在一种情况下如何匹配。 让我举例说明一下;

 I wrote -- Results
    "Ema" => "Email" , ""...
    "Emasil" => "Email", ""...
    "Emasil Li" => "Email List", ""...
    "Emasil Lit" => "Email List", ""...
    "Emasil Litk" => "Email List", ""...

如上所示,即使我写错了,它也给了我结果。这正是我需要的。但我不知道该怎么做。 你能告诉我一个解决这个问题的方法吗?

【问题讨论】:

    标签: c# .net mongodb algorithm autocomplete


    【解决方案1】:

    我认为 MongoDB 不能完全帮助您(可能是错误的)。似乎您想创建一个拼写校正器/预测文本类型解决方案?有一些预构建的库可以为您做到这一点,例如 google 使用的用 Python 编写的库:http://norvig.com/spell-correct.html。我想您可以将字典或潜在文本匹配的集合存储在 mongodb 中,并以某种方式将其合并到您的解决方案中,但我不知道以拼写检查类型的方式查询集合字段的方法。

    【讨论】:

      【解决方案2】:

      回答问题Implement autocomplete on MongoDB或许能帮到你。

      一般来说,您的问题与fuzzy string search 有关。基本算法使用 Levenshtein 距离来确定字符串之间的相似程度。但还有其他算法,如 bitap 算法、Needleman-Wunsch 算法、拼写检查方法、N-gram 方法等。您可以在文章Fuzzy string searchFuzzy search algorithm (approximate string matching algorithm) 中找到更多详细信息。还要检查搜索库,例如 Apache Lucene.Net(有关详细信息,请参阅 Apache Lucene)、fuzzystring

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-20
        • 1970-01-01
        • 1970-01-01
        • 2012-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-05
        相关资源
        最近更新 更多