【发布时间】:2017-03-05 10:05:30
【问题描述】:
在 lucene 中建立索引时,我创建的文档如下:
Document document = new Document();
Field fileNameField = new Field("name",
name,
Field.Store.YES,Field.Index.ANALYZED);
Field filePathField = new Field("code",
code,
Field.Store.YES,Field.Index.NOT_ANALYZED);
document.add(fileNameField);
document.add(filePathField);
我正在尝试在名称字段上进行搜索。 该名称包含国家/地区列表。
这是查询解析器:
queryParser = new QueryParser(Version.LUCENE_36,
"name",
new StandardAnalyzer(Version.LUCENE_36));
query = queryParser.parse(searchQuery);
当我将搜索文本作为“in”传递时,我希望得到匹配的结果,如印度、印度尼西亚等...... 但结果是空的。 它只是做完全匹配。 当我将整个单词传递给印度时,我得到的响应为零。
使匹配结果不准确的可能解决方案是什么。 例如。甚至“dia”一词也应该像印度等一样给出回应。
【问题讨论】: