1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.codelibs.fess.query;
17
18 import org.apache.logging.log4j.LogManager;
19 import org.apache.logging.log4j.Logger;
20 import org.apache.lucene.search.BoostQuery;
21 import org.apache.lucene.search.Query;
22 import org.codelibs.fess.entity.QueryContext;
23 import org.codelibs.fess.exception.InvalidQueryException;
24 import org.lastaflute.core.message.UserMessages;
25 import org.opensearch.index.query.QueryBuilder;
26
27
28
29
30
31 public class BoostQueryCommand extends QueryCommand {
32
33
34
35 public BoostQueryCommand() {
36 super();
37 }
38
39 private static final Logger logger = LogManager.getLogger(BoostQueryCommand.class);
40
41 @Override
42 protected String getQueryClassName() {
43 return BoostQuery.class.getSimpleName();
44 }
45
46 @Override
47 public QueryBuilder execute(final QueryContext context, final Query query, final float boost) {
48 if (query instanceof final BoostQuery boostQuery) {
49 if (logger.isDebugEnabled()) {
50 logger.debug("BoostQuery: query={}, boost={}", query, boost);
51 }
52 return getQueryProcessor().execute(context, boostQuery.getQuery(), boostQuery.getBoost());
53 }
54 throw new InvalidQueryException(messages -> messages.addErrorsInvalidQueryUnknown(UserMessages.GLOBAL_PROPERTY_KEY),
55 "Unknown q: " + query.getClass() + " => " + query);
56 }
57
58 }