【发布时间】:2014-01-21 12:44:20
【问题描述】:
模糊搜索的solr语法是:
q~n 其中 q 是查询词,n 是 Levenshtein 距离(例如 1-3)。
前缀搜索的语法是:
q* 其中 q 是查询词,* 表示通配符。
像 q~n* (甚至 n=1)这样的组合会产生副作用,即几乎所有内容都匹配 (出于某种原因,我仍然需要找出原因)。
像 q*~n (甚至 n=1)这样的组合会产生副作用,即查询会执行,因为它只是前缀搜索。
在我们的用例中,我们需要根据索引中存储的历史查询提供建议。当您输入拼写错误的术语时,该接缝也将成为谷歌所做的事情,这是一个很好的建议解决方案。 问题是,我们既可以提供以相同索引开头的建议,也可以提供一些具有定义的 Levenshtein 距离
现在,我知道 3 年前有人问过类似的question,其中的解决方案说它不可能用 solr 语法表达,整个案例没有任何特别意义,但在我看来这是有道理的并且组合将是解决实际问题的完美解决方案。
【问题讨论】:
标签: solr lucene prefix solr4 fuzzy-search