关于lucene的精确检索问题

qq_charm 2018-06-07 11:37:35
我现在要用Lucene5.3做一个精确检索功能。
索引库中有一个Title字段“Urogynecology digest” (分词成了“Urogynecology” ,“digest”)。现在我想通过输入Urogynecology digest精确的找到这一条信息。应该怎么做?
现在的想法是这样的:

TermQuery Query1=new TermQuery(new Term("Title", "Urogynecology"));
TermQuery Query2=new TermQuery(new Term("Title", "digest"));
BooleanQuery.Builder booleanQuery=new BooleanQuery.Builder();
booleanQuery.add(Query1, Occur.MUST);
booleanQuery.add(Query2, Occur.MUST);
Directory dir=FSDirectory.open(Paths.get(GetProperties.getProperties("Article")));
IndexReader reader=getIndexReader(dir);
IndexSearcher is=getIndexSearcher(reader);
TopDocs hits=is.search(booleanQuery.build(), 10);
System.out.println(hits.totalHits);

但是这样并没有检索到结果。
求高手解答
...全文
992 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
nyhyn 2018-07-05
  • 打赏
  • 举报
回复
match_phrase可以解决

2,760

社区成员

发帖
与我相关
我的任务
社区描述
搜索引擎的服务器通过网络搜索软件或网络登录等方式,将Internet上大量网站的页面信息收集到本地,经过加工处理建立信息数据库和索引数据库。
社区管理员
  • 搜索引擎技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧