solr - 距离参数为 2 的 Apache solr 模糊搜索
问题描述
环境-java版本“11.0.12”2021-07-20 LTS,solr-8.9.0
我在 solr 中加载了一个 csv 文件。csv 文件有一个字段“名称”。solr 中“名称”列的类型定义为“text_general”。
我知道要执行模糊搜索,在单个词的末尾使用波浪号 ~ 符号。距离参数的默认值为 2。
我使用了以下模糊搜索查询
http://localhost:8983/solr/startsolr/select?indent=on&wt=json&q=(Name:'Ellyse~') AND (Name:'Perry~')&sort=field(Name) asc
上面的模糊搜索查询会产生以下名称:“Ellysea Perry”、“Ellys Perry”
但是为什么上面的查询没有给出具有以下名称“Elly Perry”的文档(因为默认距离参数是 2 并且不存在 2 个字符(se)。)
具有 editDistance 为 '2' 的字符串应该在输出中(例如,'Elly Perry')。
我理解“最大编辑距离为 2,我最多可以有 2 次插入、删除或替换。”
Name available in loaded data - 'Elly Perry'
Input query parameter - (Name:'Ellyse~') AND (Name:'Perry~')
因为从名字'Ellyse'中删除2个字符后,它变成了'Elly'。所以它应该导致输出。有人可以帮我找到丢失的部分吗? https://en.wikipedia.org/wiki/Levenshtein_distance
解决方案
推荐阅读
- powershell - 移动包含系列剧集编号的文件夹中的每个文件
- android - 带有简单线条的 Path.op.INTERSECT 始终为空
- android-emulator - 我收到 ERROR webdriver: Request failed with status 404 due to unknown command
- c# - .Net Core - 多个后端系统的存储库模式
- python - 降价表没有使列足够宽
- r - 重复数据框 R 中前一行的值,直到其他列中的突变
- github - 使用 MacBook Pro M1 芯片时面临的问题
- google-chrome - Chrome NTLM TCP 关闭
- sparql - 在指定命名图时将 RDFConnection.load(String graphName, Model model) 转换为 SPARQL 更新表示法
- swiftui - 如何防止下拉菜单在打开时关闭其他字段?