【问题标题】:Solr spell check- Combine correct words with suggested wordsSolr 拼写检查 - 将正确的单词与建议的单词结合起来
【发布时间】:2020-04-05 23:54:43
【问题描述】:

我们使用 Solr 6.1.0 和 Solrnet 作为我们与 solr 通信的客户端工具。

当我们尝试在搜索中输入“Lion Knig”一词时,Solr 拼写检查器会自动将“Knig”更正为“King”,并获得“Lion King”的“结果集”。

在我们的屏幕上,我们需要将显示文本显示为“显示 Lion King 而不是 LION Knig 的结果”。 Solr 将 Knig 更正为“King”,这是预期的,并返回建议的文本“king”以及原始查询文本“Lion Knig”和正确的结果集。这里的问题是当我们使用建议的文本时,它会给用户留下错误的印象他只搜索“KING”。

solr 配置中是否有任何属性包含完整的更正字符串,例如“Lion King”?

为了清楚起见,附上图片。

Check image for the issue

【问题讨论】:

  • spellcheck.collate 参数可用于返回应用了拼写更正的查询。检查它是否为您提供了您正在寻找的结果。
  • 我们设置了 spellcheck.collat​​e = true,但没有返回整个更正的文本。整个建议即将到来。你能告诉我文本将如何返回

标签: solr spell-checking search-suggestion


【解决方案1】:

我不了解 Sorlnet,但通常应该有一种方法可以从 SpellcheckResponse 中获取 Collat​​ionQuery。在 SolrJ 中有一种方法可以像这样获取 ColllatinQueryString:

SpellCheckResponse spellCheckResponse = queryResponse.getSpellCheckResponse();
            CollationQuery collationQuery = new CollationQuery(spellCheckResponse);
            collationQueryString = collationQuery.getCollatedQueryString();

那么你应该可以把这个查询字符串返回给你的前端。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2013-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    • 2019-04-11
    相关资源
    最近更新 更多