From de11bbdba9cfe614ccf22e9f43f99999cac983f3 Mon Sep 17 00:00:00 2001 From: Shinsuke Sugaya <shinsuke@apache.org> Date: Sat, 16 Jun 2018 08:21:04 +0900 Subject: [PATCH] fix #1711 elasticsearch 6.3 --- dbflute.xml | 2 +- plugin.xml | 42 +++++++++---------- pom.xml | 9 +++- .../codelibs/fess/api/es/EsApiManager.java | 4 +- .../fess/api/json/JsonApiManager.java | 9 ++-- .../web/admin/backup/AdminBackupAction.java | 2 +- .../app/web/admin/esreq/AdminEsreqAction.java | 4 +- .../admin/backup/ApiAdminBackupAction.java | 2 +- .../codelibs/fess/dict/DictionaryManager.java | 7 ++-- .../codelibs/fess/entity/PingResponse.java | 10 ++--- .../codelibs/fess/es/client/FessEsClient.java | 2 +- .../org/codelibs/fess/helper/CurlHelper.java | 4 +- .../fess/timer/SystemMonitorTarget.java | 11 +++-- .../org/codelibs/fess/util/UpgradeUtil.java | 2 +- .../fess/helper/AccessTokenHelperTest.java | 7 ++-- .../codelibs/fess/helper/QueryHelperTest.java | 6 +-- .../fess/it/admin/SearchListTests.java | 4 +- .../org/codelibs/fess/util/DocMapTest.java | 7 ++-- .../fess/util/KuromojiCSVUtilTest.java | 5 ++- 19 files changed, 74 insertions(+), 65 deletions(-) diff --git a/dbflute.xml b/dbflute.xml index e33b2e784..75556ae0f 100644 --- a/dbflute.xml +++ b/dbflute.xml @@ -2,7 +2,7 @@ <project name="dbflute" basedir="."> <property name="mydbflute.dir" value="${basedir}/mydbflute" /> <property name="target.dir" value="${basedir}/target" /> - <property name="branch.name" value="master" /> + <property name="branch.name" value="es-6.3" /> <property name="mydbflute.url" value="https://github.com/lastaflute/lastaflute-example-waterfront/archive/${branch.name}.zip" /> <target name="mydbflute.check"> diff --git a/plugin.xml b/plugin.xml index 01d989ad1..7cd941259 100644 --- a/plugin.xml +++ b/plugin.xml @@ -13,66 +13,66 @@ <mkdir dir="${plugins.dir}" /> <!-- analysis-fess --> <antcall target="install.plugin"> - <param name="repo.url" value="${maven.release.repo.url}" /> + <param name="repo.url" value="${maven.snapshot.repo.url}" /> <param name="plugin.groupId" value="org/codelibs" /> <param name="plugin.name.prefix" value="elasticsearch-" /> <param name="plugin.name" value="analysis-fess" /> - <param name="plugin.version" value="6.2.1" /> - <param name="plugin.zip.version" value="6.2.1" /> + <param name="plugin.version" value="6.3.0-SNAPSHOT" /> + <param name="plugin.zip.version" value="6.3.0-20180614.205104-1" /> </antcall> <!-- analysis-ja --> <antcall target="install.plugin"> - <param name="repo.url" value="${maven.release.repo.url}" /> + <param name="repo.url" value="${maven.snapshot.repo.url}" /> <param name="plugin.groupId" value="org/codelibs" /> <param name="plugin.name.prefix" value="elasticsearch-" /> <param name="plugin.name" value="analysis-ja" /> - <param name="plugin.version" value="6.2.1" /> - <param name="plugin.zip.version" value="6.2.1" /> + <param name="plugin.version" value="6.3.0-SNAPSHOT" /> + <param name="plugin.zip.version" value="6.3.0-20180614.213049-1" /> </antcall> <!-- analysis-synonym --> <antcall target="install.plugin"> - <param name="repo.url" value="${maven.release.repo.url}" /> + <param name="repo.url" value="${maven.snapshot.repo.url}" /> <param name="plugin.groupId" value="org/codelibs" /> <param name="plugin.name.prefix" value="elasticsearch-" /> <param name="plugin.name" value="analysis-synonym" /> - <param name="plugin.version" value="6.2.1" /> - <param name="plugin.zip.version" value="6.2.1" /> + <param name="plugin.version" value="6.3.0-SNAPSHOT" /> + <param name="plugin.zip.version" value="6.3.0-20180614.214213-1" /> </antcall> <!-- configsync --> <antcall target="install.plugin"> - <param name="repo.url" value="${maven.release.repo.url}" /> + <param name="repo.url" value="${maven.snapshot.repo.url}" /> <param name="plugin.groupId" value="org/codelibs" /> <param name="plugin.name.prefix" value="elasticsearch-" /> <param name="plugin.name" value="configsync" /> - <param name="plugin.version" value="6.2.2" /> - <param name="plugin.zip.version" value="6.2.2" /> + <param name="plugin.version" value="6.3.0-SNAPSHOT" /> + <param name="plugin.zip.version" value="6.3.0-20180614.214445-1" /> </antcall> <!-- dataformat --> <antcall target="install.plugin"> - <param name="repo.url" value="${maven.release.repo.url}" /> + <param name="repo.url" value="${maven.snapshot.repo.url}" /> <param name="plugin.groupId" value="org/codelibs" /> <param name="plugin.name.prefix" value="elasticsearch-" /> <param name="plugin.name" value="dataformat" /> - <param name="plugin.version" value="6.2.3" /> - <param name="plugin.zip.version" value="6.2.3" /> + <param name="plugin.version" value="6.3.0-SNAPSHOT" /> + <param name="plugin.zip.version" value="6.3.0-20180615.130428-1" /> </antcall> <!-- langfield --> <antcall target="install.plugin"> - <param name="repo.url" value="${maven.release.repo.url}" /> + <param name="repo.url" value="${maven.snapshot.repo.url}" /> <param name="plugin.groupId" value="org/codelibs" /> <param name="plugin.name.prefix" value="elasticsearch-" /> <param name="plugin.name" value="langfield" /> - <param name="plugin.version" value="6.2.1" /> - <param name="plugin.zip.version" value="6.2.1" /> + <param name="plugin.version" value="6.3.0-SNAPSHOT" /> + <param name="plugin.zip.version" value="6.3.0-20180615.131150-1" /> </antcall> <!-- minhash --> <antcall target="install.plugin"> - <param name="repo.url" value="${maven.release.repo.url}" /> + <param name="repo.url" value="${maven.snapshot.repo.url}" /> <param name="plugin.groupId" value="org/codelibs" /> <param name="plugin.name.prefix" value="elasticsearch-" /> <param name="plugin.name" value="minhash" /> - <param name="plugin.version" value="6.2.1" /> - <param name="plugin.zip.version" value="6.2.1" /> + <param name="plugin.version" value="6.3.0-SNAPSHOT" /> + <param name="plugin.zip.version" value="6.3.0-20180615.132619-1" /> </antcall> <antcall target="remove.jars" /> diff --git a/pom.xml b/pom.xml index 3c70e4993..53b9cf282 100644 --- a/pom.xml +++ b/pom.xml @@ -63,10 +63,10 @@ <crawler.version>2.2.0-SNAPSHOT</crawler.version> <!-- Suggest --> - <suggest.version>6.2.1</suggest.version> + <suggest.version>6.3.0-SNAPSHOT</suggest.version> <!-- Elasticsearch --> - <elasticsearch.version>6.2.4</elasticsearch.version> + <elasticsearch.version>6.3.0</elasticsearch.version> <elasticsearch.min.version>6.0.0</elasticsearch.min.version> <cluster.runner.version>${elasticsearch.version}.0</cluster.runner.version> @@ -1265,6 +1265,11 @@ <artifactId>corelib</artifactId> <version>0.4.0-SNAPSHOT</version> </dependency> + <dependency> + <groupId>org.codelibs</groupId> + <artifactId>curl4j</artifactId> + <version>1.0.0</version> + </dependency> <dependency> <groupId>org.codelibs</groupId> <artifactId>spnego</artifactId> diff --git a/src/main/java/org/codelibs/fess/api/es/EsApiManager.java b/src/main/java/org/codelibs/fess/api/es/EsApiManager.java index c2ab7df24..cb722dd57 100644 --- a/src/main/java/org/codelibs/fess/api/es/EsApiManager.java +++ b/src/main/java/org/codelibs/fess/api/es/EsApiManager.java @@ -33,8 +33,8 @@ import javax.servlet.http.HttpServletResponse; import org.apache.catalina.connector.ClientAbortException; import org.codelibs.core.io.CopyUtil; import org.codelibs.core.lang.StringUtil; -import org.codelibs.elasticsearch.runner.net.Curl.Method; -import org.codelibs.elasticsearch.runner.net.CurlRequest; +import org.codelibs.curl.Curl.Method; +import org.codelibs.curl.CurlRequest; import org.codelibs.fess.Constants; import org.codelibs.fess.api.BaseApiManager; import org.codelibs.fess.exception.FessSystemException; diff --git a/src/main/java/org/codelibs/fess/api/json/JsonApiManager.java b/src/main/java/org/codelibs/fess/api/json/JsonApiManager.java index 76843712a..fca85c059 100644 --- a/src/main/java/org/codelibs/fess/api/json/JsonApiManager.java +++ b/src/main/java/org/codelibs/fess/api/json/JsonApiManager.java @@ -15,7 +15,9 @@ */ package org.codelibs.fess.api.json; +import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.io.OutputStream; import java.net.URLDecoder; import java.util.ArrayList; import java.util.Arrays; @@ -56,7 +58,6 @@ import org.codelibs.fess.util.FacetResponse; import org.codelibs.fess.util.FacetResponse.Field; import org.dbflute.optional.OptionalThing; import org.elasticsearch.common.xcontent.ToXContent; -import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentFactory; import org.elasticsearch.script.Script; import org.slf4j.Logger; @@ -371,9 +372,9 @@ public class JsonApiManager extends BaseJsonApiManager { } protected String toGeoRequestString(final GeoInfo geoInfo) { - try { - final XContentBuilder builder = XContentFactory.jsonBuilder(); - return geoInfo.toQueryBuilder().toXContent(builder, ToXContent.EMPTY_PARAMS).string(); + try (OutputStream out = + geoInfo.toQueryBuilder().toXContent(XContentFactory.jsonBuilder(), ToXContent.EMPTY_PARAMS).getOutputStream()) { + return ((ByteArrayOutputStream) out).toString(Constants.UTF_8); } catch (final Exception e) { return "{\"error\":\"" + detailedMessage(e) + "\"}"; } diff --git a/src/main/java/org/codelibs/fess/app/web/admin/backup/AdminBackupAction.java b/src/main/java/org/codelibs/fess/app/web/admin/backup/AdminBackupAction.java index 0d9248bf1..847cbd3bd 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/backup/AdminBackupAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/backup/AdminBackupAction.java @@ -41,7 +41,7 @@ import org.apache.commons.text.StringEscapeUtils; import org.codelibs.core.exception.IORuntimeException; import org.codelibs.core.io.CopyUtil; import org.codelibs.core.misc.Pair; -import org.codelibs.elasticsearch.runner.net.CurlResponse; +import org.codelibs.curl.CurlResponse; import org.codelibs.fess.Constants; import org.codelibs.fess.app.web.base.FessAdminAction; import org.codelibs.fess.es.config.exbhv.FileConfigBhv; diff --git a/src/main/java/org/codelibs/fess/app/web/admin/esreq/AdminEsreqAction.java b/src/main/java/org/codelibs/fess/app/web/admin/esreq/AdminEsreqAction.java index fa91ca77f..c46071203 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/esreq/AdminEsreqAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/esreq/AdminEsreqAction.java @@ -25,8 +25,8 @@ import java.util.Locale; import org.codelibs.core.io.CopyUtil; import org.codelibs.core.io.ReaderUtil; import org.codelibs.core.lang.StringUtil; -import org.codelibs.elasticsearch.runner.net.CurlRequest; -import org.codelibs.elasticsearch.runner.net.CurlResponse; +import org.codelibs.curl.CurlRequest; +import org.codelibs.curl.CurlResponse; import org.codelibs.fess.Constants; import org.codelibs.fess.app.web.base.FessAdminAction; import org.codelibs.fess.helper.CurlHelper; diff --git a/src/main/java/org/codelibs/fess/app/web/api/admin/backup/ApiAdminBackupAction.java b/src/main/java/org/codelibs/fess/app/web/api/admin/backup/ApiAdminBackupAction.java index 15e42d0c2..acb1eb7c9 100644 --- a/src/main/java/org/codelibs/fess/app/web/api/admin/backup/ApiAdminBackupAction.java +++ b/src/main/java/org/codelibs/fess/app/web/api/admin/backup/ApiAdminBackupAction.java @@ -33,7 +33,7 @@ import java.util.List; import java.util.Map; import java.util.function.Consumer; -import org.codelibs.elasticsearch.runner.net.CurlResponse; +import org.codelibs.curl.CurlResponse; import org.codelibs.fess.Constants; import org.codelibs.fess.app.web.api.ApiResult; import org.codelibs.fess.app.web.api.ApiResult.ApiBackupFilesResponse; diff --git a/src/main/java/org/codelibs/fess/dict/DictionaryManager.java b/src/main/java/org/codelibs/fess/dict/DictionaryManager.java index b84218fcb..e6a3fffe6 100644 --- a/src/main/java/org/codelibs/fess/dict/DictionaryManager.java +++ b/src/main/java/org/codelibs/fess/dict/DictionaryManager.java @@ -27,7 +27,8 @@ import java.util.Map; import javax.annotation.PostConstruct; import org.codelibs.core.io.FileUtil; -import org.codelibs.elasticsearch.runner.net.CurlResponse; +import org.codelibs.curl.CurlResponse; +import org.codelibs.elasticsearch.runner.net.EcrCurl; import org.codelibs.fess.Constants; import org.codelibs.fess.util.ComponentUtil; import org.dbflute.optional.OptionalEntity; @@ -50,7 +51,7 @@ public class DictionaryManager { try (CurlResponse response = ComponentUtil.getCurlHelper().get("/_configsync/file").param("fields", "path,@timestamp") .param("size", ComponentUtil.getFessConfig().getPageDictionaryMaxFetchSize()).execute()) { - final Map<String, Object> contentMap = response.getContentAsMap(); + final Map<String, Object> contentMap = response.getContent(EcrCurl.jsonParser); @SuppressWarnings("unchecked") final List<Map<String, Object>> fileList = (List<Map<String, Object>>) contentMap.get("file"); return fileList @@ -96,7 +97,7 @@ public class DictionaryManager { try (CurlResponse response = ComponentUtil.getCurlHelper().post("/_configsync/file").param("path", dictFile.getPath()) .body(FileUtil.readUTF8(file)).execute()) { - final Map<String, Object> contentMap = response.getContentAsMap(); + final Map<String, Object> contentMap = response.getContent(EcrCurl.jsonParser); if (!Constants.TRUE.equalsIgnoreCase(contentMap.get("acknowledged").toString())) { throw new DictionaryException("Failed to update " + dictFile.getPath()); } diff --git a/src/main/java/org/codelibs/fess/entity/PingResponse.java b/src/main/java/org/codelibs/fess/entity/PingResponse.java index c2bb951e3..cd204a25d 100644 --- a/src/main/java/org/codelibs/fess/entity/PingResponse.java +++ b/src/main/java/org/codelibs/fess/entity/PingResponse.java @@ -15,13 +15,15 @@ */ package org.codelibs.fess.entity; +import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.io.OutputStream; import org.codelibs.core.lang.StringUtil; +import org.codelibs.fess.Constants; import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse; import org.elasticsearch.cluster.health.ClusterHealthStatus; import org.elasticsearch.common.xcontent.ToXContent; -import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentFactory; public class PingResponse { @@ -37,10 +39,8 @@ public class PingResponse { status = response.getStatus() == ClusterHealthStatus.RED ? 1 : 0; clusterName = response.getClusterName(); clusterStatus = response.getStatus().toString(); - try { - final XContentBuilder builder = XContentFactory.jsonBuilder(); - response.toXContent(builder, ToXContent.EMPTY_PARAMS); - message = builder.string(); + try (OutputStream out = response.toXContent(XContentFactory.jsonBuilder(), ToXContent.EMPTY_PARAMS).getOutputStream()) { + message = ((ByteArrayOutputStream) out).toString(Constants.UTF_8); } catch (final IOException e) { message = "{ \"error\" : \"" + e.getMessage() + "\"}"; } diff --git a/src/main/java/org/codelibs/fess/es/client/FessEsClient.java b/src/main/java/org/codelibs/fess/es/client/FessEsClient.java index 8e10b594f..bdb5c34cf 100644 --- a/src/main/java/org/codelibs/fess/es/client/FessEsClient.java +++ b/src/main/java/org/codelibs/fess/es/client/FessEsClient.java @@ -43,9 +43,9 @@ import org.codelibs.core.exception.ResourceNotFoundRuntimeException; import org.codelibs.core.io.FileUtil; import org.codelibs.core.io.ResourceUtil; import org.codelibs.core.lang.StringUtil; +import org.codelibs.curl.CurlResponse; import org.codelibs.elasticsearch.runner.ElasticsearchClusterRunner; import org.codelibs.elasticsearch.runner.ElasticsearchClusterRunner.Configs; -import org.codelibs.elasticsearch.runner.net.CurlResponse; import org.codelibs.fess.Constants; import org.codelibs.fess.entity.FacetInfo; import org.codelibs.fess.entity.GeoInfo; diff --git a/src/main/java/org/codelibs/fess/helper/CurlHelper.java b/src/main/java/org/codelibs/fess/helper/CurlHelper.java index b6d4d69d8..34c7d0874 100644 --- a/src/main/java/org/codelibs/fess/helper/CurlHelper.java +++ b/src/main/java/org/codelibs/fess/helper/CurlHelper.java @@ -15,8 +15,8 @@ */ package org.codelibs.fess.helper; -import org.codelibs.elasticsearch.runner.net.Curl.Method; -import org.codelibs.elasticsearch.runner.net.CurlRequest; +import org.codelibs.curl.Curl.Method; +import org.codelibs.curl.CurlRequest; import org.codelibs.fess.util.ResourceUtil; public class CurlHelper { diff --git a/src/main/java/org/codelibs/fess/timer/SystemMonitorTarget.java b/src/main/java/org/codelibs/fess/timer/SystemMonitorTarget.java index 0445ee3e0..55646276f 100644 --- a/src/main/java/org/codelibs/fess/timer/SystemMonitorTarget.java +++ b/src/main/java/org/codelibs/fess/timer/SystemMonitorTarget.java @@ -15,6 +15,8 @@ */ package org.codelibs.fess.timer; +import java.io.ByteArrayOutputStream; +import java.io.OutputStream; import java.util.Arrays; import java.util.List; import java.util.function.Supplier; @@ -22,6 +24,7 @@ import java.util.stream.Collectors; import org.apache.commons.text.StringEscapeUtils; import org.codelibs.core.timer.TimeoutTarget; +import org.codelibs.fess.Constants; import org.codelibs.fess.es.client.FessEsClient; import org.codelibs.fess.util.ComponentUtil; import org.elasticsearch.action.admin.cluster.node.stats.NodesStatsResponse; @@ -179,14 +182,16 @@ public class SystemMonitorTarget implements TimeoutTarget { try { final FessEsClient esClient = ComponentUtil.getFessEsClient(); final NodesStatsResponse response = - esClient.admin().cluster().prepareNodesStats().ingest(false).setBreaker(false).setDiscovery(false).setFs(true) + esClient.admin().cluster().prepareNodesStats().setIngest(false).setBreaker(false).setDiscovery(false).setFs(true) .setHttp(false).setIndices(true).setJvm(true).setOs(true).setProcess(true).setScript(false).setThreadPool(true) .setTransport(true).execute().actionGet(10000L); final XContentBuilder builder = XContentFactory.jsonBuilder(); builder.startObject(); - response.toXContent(builder, ToXContent.EMPTY_PARAMS); + response.toXContent(XContentFactory.jsonBuilder(), ToXContent.EMPTY_PARAMS); builder.endObject(); - stats = builder.string(); + try (OutputStream out = builder.getOutputStream()) { + stats = ((ByteArrayOutputStream) out).toString(Constants.UTF_8); + } } catch (final Exception e) { logger.debug("Failed to access Elasticsearch stats.", e); } diff --git a/src/main/java/org/codelibs/fess/util/UpgradeUtil.java b/src/main/java/org/codelibs/fess/util/UpgradeUtil.java index 90d88f6a3..f13ab104a 100644 --- a/src/main/java/org/codelibs/fess/util/UpgradeUtil.java +++ b/src/main/java/org/codelibs/fess/util/UpgradeUtil.java @@ -20,7 +20,7 @@ import java.util.function.Consumer; import org.codelibs.core.exception.ResourceNotFoundRuntimeException; import org.codelibs.core.io.FileUtil; -import org.codelibs.elasticsearch.runner.net.CurlResponse; +import org.codelibs.curl.CurlResponse; import org.codelibs.fess.mylasta.direction.FessConfig; import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.admin.indices.alias.IndicesAliasesResponse; diff --git a/src/test/java/org/codelibs/fess/helper/AccessTokenHelperTest.java b/src/test/java/org/codelibs/fess/helper/AccessTokenHelperTest.java index efbbb2bb9..5948ac0e5 100644 --- a/src/test/java/org/codelibs/fess/helper/AccessTokenHelperTest.java +++ b/src/test/java/org/codelibs/fess/helper/AccessTokenHelperTest.java @@ -15,14 +15,13 @@ */ package org.codelibs.fess.helper; +import static org.junit.jupiter.api.Assertions.assertThrows; + import java.util.ArrayList; import java.util.List; -import static org.junit.jupiter.api.Assertions.assertThrows; - -import org.codelibs.fess.unit.UnitFessTestCase; import org.codelibs.fess.exception.InvalidAccessTokenException; -import org.codelibs.fess.util.ComponentUtil; +import org.codelibs.fess.unit.UnitFessTestCase; import org.dbflute.utflute.mocklet.MockletHttpServletRequest; public class AccessTokenHelperTest extends UnitFessTestCase { diff --git a/src/test/java/org/codelibs/fess/helper/QueryHelperTest.java b/src/test/java/org/codelibs/fess/helper/QueryHelperTest.java index c330b915e..65cb46005 100644 --- a/src/test/java/org/codelibs/fess/helper/QueryHelperTest.java +++ b/src/test/java/org/codelibs/fess/helper/QueryHelperTest.java @@ -115,13 +115,13 @@ public class QueryHelperTest extends UnitFessTestCase { "{\"function_score\":{\"query\":{\"wildcard\":{\"title\":{\"wildcard\":\"*\",\"boost\":1.0}}},\"functions\":[{\"filter\":{\"match_all\":{\"boost\":1.0}},\"field_value_factor\":{\"field\":\"boost\",\"factor\":1.0,\"modifier\":\"none\"}}],\"score_mode\":\"multiply\",\"max_boost\":3.4028235E38,\"boost\":1.0}}", buildQuery("allintitle:").toString().replaceAll("\\s", "")); assertEquals( - "{\"function_score\":{\"query\":{\"match_phrase\":{\"title\":{\"query\":\"test\",\"slop\":0,\"boost\":1.0}}},\"functions\":[{\"filter\":{\"match_all\":{\"boost\":1.0}},\"field_value_factor\":{\"field\":\"boost\",\"factor\":1.0,\"modifier\":\"none\"}}],\"score_mode\":\"multiply\",\"max_boost\":3.4028235E38,\"boost\":1.0}}", + "{\"function_score\":{\"query\":{\"match_phrase\":{\"title\":{\"query\":\"test\",\"slop\":0,\"zero_terms_query\":\"NONE\",\"boost\":1.0}}},\"functions\":[{\"filter\":{\"match_all\":{\"boost\":1.0}},\"field_value_factor\":{\"field\":\"boost\",\"factor\":1.0,\"modifier\":\"none\"}}],\"score_mode\":\"multiply\",\"max_boost\":3.4028235E38,\"boost\":1.0}}", buildQuery("allintitle:test").toString().replaceAll("\\s", "")); assertEquals( - "{\"function_score\":{\"query\":{\"match_phrase\":{\"title\":{\"query\":\"test\",\"slop\":0,\"boost\":1.0}}},\"functions\":[{\"filter\":{\"match_all\":{\"boost\":1.0}},\"field_value_factor\":{\"field\":\"boost\",\"factor\":1.0,\"modifier\":\"none\"}}],\"score_mode\":\"multiply\",\"max_boost\":3.4028235E38,\"boost\":1.0}}", + "{\"function_score\":{\"query\":{\"match_phrase\":{\"title\":{\"query\":\"test\",\"slop\":0,\"zero_terms_query\":\"NONE\",\"boost\":1.0}}},\"functions\":[{\"filter\":{\"match_all\":{\"boost\":1.0}},\"field_value_factor\":{\"field\":\"boost\",\"factor\":1.0,\"modifier\":\"none\"}}],\"score_mode\":\"multiply\",\"max_boost\":3.4028235E38,\"boost\":1.0}}", buildQuery("allintitle: test").toString().replaceAll("\\s", "")); assertEquals( - "{\"function_score\":{\"query\":{\"bool\":{\"must\":[{\"match_phrase\":{\"title\":{\"query\":\"aaa\",\"slop\":0,\"boost\":1.0}}},{\"match_phrase\":{\"title\":{\"query\":\"bbb\",\"slop\":0,\"boost\":1.0}}}],\"adjust_pure_negative\":true,\"boost\":1.0}},\"functions\":[{\"filter\":{\"match_all\":{\"boost\":1.0}},\"field_value_factor\":{\"field\":\"boost\",\"factor\":1.0,\"modifier\":\"none\"}}],\"score_mode\":\"multiply\",\"max_boost\":3.4028235E38,\"boost\":1.0}}", + "{\"function_score\":{\"query\":{\"bool\":{\"must\":[{\"match_phrase\":{\"title\":{\"query\":\"aaa\",\"slop\":0,\"zero_terms_query\":\"NONE\",\"boost\":1.0}}},{\"match_phrase\":{\"title\":{\"query\":\"bbb\",\"slop\":0,\"zero_terms_query\":\"NONE\",\"boost\":1.0}}}],\"adjust_pure_negative\":true,\"boost\":1.0}},\"functions\":[{\"filter\":{\"match_all\":{\"boost\":1.0}},\"field_value_factor\":{\"field\":\"boost\",\"factor\":1.0,\"modifier\":\"none\"}}],\"score_mode\":\"multiply\",\"max_boost\":3.4028235E38,\"boost\":1.0}}", buildQuery("allintitle: aaa bbb").toString().replaceAll("\\s", "")); assertEquals( diff --git a/src/test/java/org/codelibs/fess/it/admin/SearchListTests.java b/src/test/java/org/codelibs/fess/it/admin/SearchListTests.java index 6396309df..b3f263a89 100644 --- a/src/test/java/org/codelibs/fess/it/admin/SearchListTests.java +++ b/src/test/java/org/codelibs/fess/it/admin/SearchListTests.java @@ -15,13 +15,11 @@ */ package org.codelibs.fess.it.admin; -import static org.junit.jupiter.api.Assertions.assertTrue; import static org.hamcrest.Matchers.equalTo; import java.util.HashMap; -import java.util.Map; import java.util.List; -import java.util.Set; +import java.util.Map; import org.codelibs.fess.it.CrudTestBase; import org.junit.jupiter.api.Tag; diff --git a/src/test/java/org/codelibs/fess/util/DocMapTest.java b/src/test/java/org/codelibs/fess/util/DocMapTest.java index 0bdb02e3c..9c521c8c6 100644 --- a/src/test/java/org/codelibs/fess/util/DocMapTest.java +++ b/src/test/java/org/codelibs/fess/util/DocMapTest.java @@ -15,12 +15,11 @@ */ package org.codelibs.fess.util; -import java.util.Map; -import java.util.Set; -import java.util.List; import java.util.Arrays; import java.util.LinkedHashMap; -import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; import org.codelibs.fess.unit.UnitFessTestCase; diff --git a/src/test/java/org/codelibs/fess/util/KuromojiCSVUtilTest.java b/src/test/java/org/codelibs/fess/util/KuromojiCSVUtilTest.java index 4003a97e0..116cc8321 100644 --- a/src/test/java/org/codelibs/fess/util/KuromojiCSVUtilTest.java +++ b/src/test/java/org/codelibs/fess/util/KuromojiCSVUtilTest.java @@ -15,11 +15,12 @@ */ package org.codelibs.fess.util; -import java.util.List; -import java.util.Arrays; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; +import java.util.Arrays; +import java.util.List; + import org.codelibs.fess.unit.UnitFessTestCase; public class KuromojiCSVUtilTest extends UnitFessTestCase { -- GitLab