为 Lucene 创建最佳查询

我正在尝试创建一些查询,它们应该像 sql 中的“where ..... and .... and”一样工作。我曾为此目的尝试过 boolQuery,例如;


boolQueryBuilder.add(new BooleanClause(new FuzzyQuery(new Term(fieldCity, 

city), 0), Occur.FILTER)); 

boolQueryBuilder.add(new BooleanClause(new WildcardQuery(new Term(fieldText, 

str)), Occur.SHOULD)); 

boolQueryBuilder.add(new FuzzyQuery(new Term(fieldText, strTemp), fuzzy), 

Occur.SHOULD); 

boolQueryBuilder.add(new FuzzyQuery(new Term(fieldText, mergedKeyword), 

fuzzy), Occur.SHOULD); 

这些是我的查询生成器构建器元素之一。但问题是它不像“AND”操作“FILTER”或“MUST”在“应该”查询与任何结果不匹配时返回给定字段的所有值。


我想要速度返回,所以我希望每次搜索的结果更少。有人可以就我的问题给我建议。


祝你工作愉快。


红糖糍粑
浏览 136回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java