像Google这样的弹性搜索中的智能搜索

时间:2014-12-24 11:46:26

标签: database api elasticsearch

我希望在我的网站上实施像Google这样的智能搜索。

因此我们使用的方法如下链接

http://www.anotherchris.net/csharp/how-to-write-a-spelling-corrector-in-csharp/

因为我们使用的是文本文件,但它是非常小的单词集合。

它纠正了简单易懂的单词,但却失败了。

所以请任何人帮我在文本文件的位置使用任何api来使用单词数据库。

1 个答案:

答案 0 :(得分:1)

使用Elasticsearch可以有多种选择。

  1. 使用术语建议 - 您可以在此处要求Elasticsearch根据您编入索引的术语提供与特定术语最接近的匹配项。因此,这不会完成您的文本,而是根据数据库中的条款产生类似的相似内容。所以如果你搜索" railz" ,它能够提供" rails"。您可以更改edit_distance参数以增加此匹配的直线性。它使用levenshtein distnace算法计算距离。 网址 - http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-suggesters-term.html#search-suggesters-term
  2. 自动完成建议器 - 此建议器可以通过更改模糊因子来执行上述操作。并且它能够完成你的任期。所以,如果你搜索术语" el" ,它能够返回电子" ," elasticsearch"等等。此完成是根据已编制索引的条款完成的。