【发布时间】:2022-11-26 23:21:53
【问题描述】:
我正在尝试设计一个电影数据库的信息检索系统。我想按标题搜索,所以当我搜索“Cobra Kai”时,我的分析器将这个字符串分解为“cobra kai”、“cobra”和“kai”以进行更好的配对。所以我的问题是我必须执行这样的查询:“cobra kai”或“cobra”或“kai”,但它对我不起作用。这是代码:
ArrayList<String> busqueda_separada = muestraTexto(analyzer_titulo(), busquedaTitulo.getText());
query1 = new TermQuery(new Term("titulo" ,busqueda_separada.get(0)));
query2 = new TermQuery(new Term("titulo" ,busqueda_separada.get(1)));
query3 = new TermQuery(new Term("titulo" ,busqueda_separada.get(2)));
nested.add(query1, BooleanClause.Occur.SHOULD);
nested.add(query2, BooleanClause.Occur.SHOULD);
nested.add(query3, BooleanClause.Occur.SHOULD);
bqbuilder.add(nested, BooleanClause.Occur.MUST);
我试图做不同的布尔子句,但它保持不变。
【问题讨论】: