Lucene多词层级文件夹搜索失效,查询语句存在哪些问题?
Lucene多单词文件夹路径查询失效问题解决
你的查询失效的核心原因是多单词文件夹名称被Lucene默认分词拆分,加上查询语法缺少必要的短语包裹,导致无法匹配完整路径。
问题分析
Lucene会自动对空格分隔的文本做分词处理,原查询里的Folder Four and Five会被拆成Folder、Four、and、Five四个独立词条,无法匹配完整的文件夹名称,自然搜不到目标文件。
修正后的查询语句
+(kw-extension:(doc docx xls xlsx ppt pptx txt pdf DOC DOCX XLS XLSX PPT PPTX TXT PDF)) +(kw-folderName:"*documents/Folder Four and Five/Folder Six and Seven/*")
关键修改说明
- 给整个文件夹路径加上双引号
"",强制Lucene将路径作为单个完整短语匹配,避免拆分多单词的文件夹名称。 - 在路径末尾添加
*,确保能匹配该目标文件夹下所有层级的文件(如果只需要匹配当前文件夹直接子文件,可根据需求调整通配符位置)。
内容的提问来源于stack exchange,提问作者cris gomez
相关产品推荐
相关产品推荐

