使用Solr拼写检查器检测不存在的单词

时间:2014-01-27 10:28:08

标签: solr lucene full-text-search spell-checking

为简单起见,我们假设我们的Solr索引包含单个词:"test"

我们的搜索查询为"test someNonExistentWord"

使用Solr的拼写检查器,我们将获得以下结果:

"response": {
    "numFound": 1,
    "start": 0,
    "docs": [
      {
         ...
      }
    ]
  },
  "spellcheck": {
    "suggestions": [
      "correctlySpelled",
      true
    ]
  }

所以,我的问题是:如何知道查询中的一个单词实际上不存在?

当然,存在直截了当的方式 - 手动查询标记化,然后分别对每个单词进行搜索,但是有更好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

事实证明,使用内置拼写检查程序无法解决问题。

幸运的是,Solr是开源的,每个人都可以修改其代码来实现这一目标。