From e624a920043c5f2f5bfdd68233f60b6af28958d3 Mon Sep 17 00:00:00 2001
From: Shinsuke Sugaya <shinsuke@apache.org>
Date: Thu, 6 May 2021 10:30:15 +0900
Subject: [PATCH] fix #2564 add analyzer for description field

---
 .../fess/app/service/DataConfigService.java       |  2 +-
 .../fess/app/service/FileConfigService.java       |  2 +-
 .../fess/app/service/WebConfigService.java        |  2 +-
 .../fess_indices/.fess_config.data_config.json    | 15 +++++++++++++++
 .../.fess_config.data_config/data_config.json     |  3 ++-
 .../fess_indices/.fess_config.file_config.json    | 15 +++++++++++++++
 .../.fess_config.file_config/file_config.json     |  3 ++-
 .../fess_indices/.fess_config.web_config.json     | 15 +++++++++++++++
 .../.fess_config.web_config/web_config.json       |  3 ++-
 9 files changed, 54 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/codelibs/fess/app/service/DataConfigService.java b/src/main/java/org/codelibs/fess/app/service/DataConfigService.java
index 45a8da184..4dc91b781 100644
--- a/src/main/java/org/codelibs/fess/app/service/DataConfigService.java
+++ b/src/main/java/org/codelibs/fess/app/service/DataConfigService.java
@@ -94,7 +94,7 @@ public class DataConfigService extends FessAppService {
             cb.query().setHandlerName_Wildcard(wrapQuery(dataConfigPager.handlerName));
         }
         if (StringUtil.isNotBlank(dataConfigPager.description)) {
-            cb.query().setDescription_Wildcard(wrapQuery(dataConfigPager.description));
+            cb.query().setDescription_MatchPhrase(wrapQuery(dataConfigPager.description));
         }
         // TODO Long, Integer, String supported only.
 
diff --git a/src/main/java/org/codelibs/fess/app/service/FileConfigService.java b/src/main/java/org/codelibs/fess/app/service/FileConfigService.java
index fcef7dedc..ed4d874d7 100644
--- a/src/main/java/org/codelibs/fess/app/service/FileConfigService.java
+++ b/src/main/java/org/codelibs/fess/app/service/FileConfigService.java
@@ -103,7 +103,7 @@ public class FileConfigService extends FessAppService {
             cb.query().setPaths_Wildcard(wrapQuery(fileConfigPager.paths));
         }
         if (StringUtil.isNotBlank(fileConfigPager.description)) {
-            cb.query().setDescription_Wildcard(wrapQuery(fileConfigPager.description));
+            cb.query().setDescription_MatchPhrase(wrapQuery(fileConfigPager.description));
         }
         // TODO Long, Integer, String supported only.
 
diff --git a/src/main/java/org/codelibs/fess/app/service/WebConfigService.java b/src/main/java/org/codelibs/fess/app/service/WebConfigService.java
index ce7515c09..86e32901b 100644
--- a/src/main/java/org/codelibs/fess/app/service/WebConfigService.java
+++ b/src/main/java/org/codelibs/fess/app/service/WebConfigService.java
@@ -111,7 +111,7 @@ public class WebConfigService extends FessAppService {
             cb.query().setUrls_Wildcard(wrapQuery(webConfigPager.urls));
         }
         if (StringUtil.isNotBlank(webConfigPager.description)) {
-            cb.query().setDescription_Wildcard(wrapQuery(webConfigPager.description));
+            cb.query().setDescription_MatchPhrase(wrapQuery(webConfigPager.description));
         }
         // TODO Long, Integer, String supported only.
 
diff --git a/src/main/resources/fess_indices/.fess_config.data_config.json b/src/main/resources/fess_indices/.fess_config.data_config.json
index 8f94f93c2..49f120ccf 100644
--- a/src/main/resources/fess_indices/.fess_config.data_config.json
+++ b/src/main/resources/fess_indices/.fess_config.data_config.json
@@ -5,6 +5,21 @@
       "number_of_shards": 1,
       "number_of_replicas": 0,
       "auto_expand_replicas": "0-1"
+    },
+    "analysis": {
+      "analyzer": {
+        "standard_analyzer": {
+          "type": "custom",
+          "tokenizer": "standard",
+          "filter": [
+            "cjk_width",
+            "asciifolding",
+            "lowercase",
+            "stop",
+            "stemmer"
+          ]
+        }
+      }
     }
   }
 }
diff --git a/src/main/resources/fess_indices/.fess_config.data_config/data_config.json b/src/main/resources/fess_indices/.fess_config.data_config/data_config.json
index dea7529e0..05168f620 100644
--- a/src/main/resources/fess_indices/.fess_config.data_config/data_config.json
+++ b/src/main/resources/fess_indices/.fess_config.data_config/data_config.json
@@ -40,7 +40,8 @@
         "type": "long"
       },
       "description" : {
-        "type": "text"
+        "type": "text",
+        "analyzer": "standard_analyzer"
       }
     }
 }
diff --git a/src/main/resources/fess_indices/.fess_config.file_config.json b/src/main/resources/fess_indices/.fess_config.file_config.json
index 8f94f93c2..49f120ccf 100644
--- a/src/main/resources/fess_indices/.fess_config.file_config.json
+++ b/src/main/resources/fess_indices/.fess_config.file_config.json
@@ -5,6 +5,21 @@
       "number_of_shards": 1,
       "number_of_replicas": 0,
       "auto_expand_replicas": "0-1"
+    },
+    "analysis": {
+      "analyzer": {
+        "standard_analyzer": {
+          "type": "custom",
+          "tokenizer": "standard",
+          "filter": [
+            "cjk_width",
+            "asciifolding",
+            "lowercase",
+            "stop",
+            "stemmer"
+          ]
+        }
+      }
     }
   }
 }
diff --git a/src/main/resources/fess_indices/.fess_config.file_config/file_config.json b/src/main/resources/fess_indices/.fess_config.file_config/file_config.json
index 78b5f1af1..2273ba158 100644
--- a/src/main/resources/fess_indices/.fess_config.file_config/file_config.json
+++ b/src/main/resources/fess_indices/.fess_config.file_config/file_config.json
@@ -64,7 +64,8 @@
         "type": "long"
       },
       "description" : {
-        "type": "text"
+        "type": "text",
+        "analyzer": "standard_analyzer"
       }
     }
 }
diff --git a/src/main/resources/fess_indices/.fess_config.web_config.json b/src/main/resources/fess_indices/.fess_config.web_config.json
index 8f94f93c2..49f120ccf 100644
--- a/src/main/resources/fess_indices/.fess_config.web_config.json
+++ b/src/main/resources/fess_indices/.fess_config.web_config.json
@@ -5,6 +5,21 @@
       "number_of_shards": 1,
       "number_of_replicas": 0,
       "auto_expand_replicas": "0-1"
+    },
+    "analysis": {
+      "analyzer": {
+        "standard_analyzer": {
+          "type": "custom",
+          "tokenizer": "standard",
+          "filter": [
+            "cjk_width",
+            "asciifolding",
+            "lowercase",
+            "stop",
+            "stemmer"
+          ]
+        }
+      }
     }
   }
 }
diff --git a/src/main/resources/fess_indices/.fess_config.web_config/web_config.json b/src/main/resources/fess_indices/.fess_config.web_config/web_config.json
index 9c700f048..b00dd1708 100644
--- a/src/main/resources/fess_indices/.fess_config.web_config/web_config.json
+++ b/src/main/resources/fess_indices/.fess_config.web_config/web_config.json
@@ -67,7 +67,8 @@
         "type": "long"
       },
       "description" : {
-        "type": "text"
+        "type": "text",
+        "analyzer": "standard_analyzer"
       }
     }
 }
-- 
GitLab