AMBARI-25090 - Logsearch should index keywords without the ending periods(.) (#70)
diff --git a/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/solr/search/SearchServiceLogsTest.java b/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/solr/search/SearchServiceLogsTest.java
index b7766c9..2dfe5f3 100644
--- a/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/solr/search/SearchServiceLogsTest.java
+++ b/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/solr/search/SearchServiceLogsTest.java
@@ -166,18 +166,21 @@
@Test
public void testIncludeMultipleTermsDelimitedByDash() throws Exception {
solr.addDoc("0", "Unhandled exception");
- solr.addDoc("1", "At line 112 an unhandled-exception occurred when");
- solr.addDoc("2", "exception occurred");
- solr.addDoc("3", "exception");
- solr.addDoc("4", "Unhandled error");
- solr.addDoc("5", "Error occurred");
+ solr.addDoc("1", "Unhandled+exception");
+ solr.addDoc("2", "At line 112 an unhandled-exception occurred when");
+ solr.addDoc("3", "exception occurred");
+ solr.addDoc("4", "exception");
+ solr.addDoc("5", "Unhandled error");
+ solr.addDoc("6", "Error occurred");
BaseServiceLogRequest request = new BaseServiceLogQueryRequest();
request.setIncludeQuery("[{\"log_message\":\"\\\"Unhandled-exception\\\"\"}]");
SolrDocumentList found = executeQuery(request);
- assertThat(found, hasSize(1));
+ assertThat(found, hasSize(3));
+ assertThat(found, hasItem(solrDoc("0")));
assertThat(found, hasItem(solrDoc("1")));
+ assertThat(found, hasItem(solrDoc("2")));
}
@Test
@@ -194,8 +197,10 @@
request.setIncludeQuery("[{\"log_message\":\"\\\"Unhandled+exception\\\"\"}]");
SolrDocumentList found = executeQuery(request);
- assertThat(found, hasSize(1));
+ assertThat(found, hasSize(3));
+ assertThat(found, hasItem(solrDoc("0")));
assertThat(found, hasItem(solrDoc("1")));
+ assertThat(found, hasItem(solrDoc("2")));
}
@Test
@@ -232,31 +237,22 @@
@Test
public void testIncludeEMailAddress() throws Exception {
solr.addDoc("0", "Email address: john@hortonworks.com");
- solr.addDoc("1", "Another document");
-
+ solr.addDoc("1", "Another document doe@hortonworks.com");
+ solr.addDoc("2", "Another document without email address");
+ solr.addDoc("3", "Just a name and a domain name: john hortonworks.com");
+ solr.addDoc("4", "Hi name is John Domain name: hortonworks.com");
BaseServiceLogRequest request = new BaseServiceLogQueryRequest();
- request.setIncludeQuery("[{\"log_message\":\"john@hortonworks.com\"}]");
+ request.setIncludeQuery("[{\"log_message\":\"\\\"john@hortonworks.com\\\"\"}]");
SolrDocumentList found = executeQuery(request);
- assertThat(found, hasSize(1));
+ assertThat(found, hasSize(2));
assertThat(found, hasItem(solrDoc("0")));
+ assertThat(found, hasItem(solrDoc("3")));
}
private final ServiceLogLevelDateRangeRequestQueryConverter dateRangeRequestQueryConverter = new ServiceLogLevelDateRangeRequestQueryConverter();
- @Test
- public void testDateRangeRequestIncludeEMailAddress() throws Exception {
- solr.addDoc("0", "Email address: john@hortonworks.com");
- solr.addDoc("1", "Another document doe@hortonworks.com");
-
- ServiceGraphRequest request = serviceGraphRequest("[{\"log_message\":\"john@hortonworks.com\"}]");
- NamedList<List<PivotField>> found = executeQuery(request);
-
- assertThat(found.size(), is(1));
- assertThat(found.get("level").get(0).getCount(), is(1));
- }
-
private ServiceGraphRequest serviceGraphRequest(String includeQuery) {
ServiceGraphRequest request = new ServiceGraphQueryRequest();
request.setFrom(SOLR_DATETIME_FORMATTER.format(OffsetDateTime.now(ZoneId.of("UTC")).minusDays(1)));
@@ -327,7 +323,7 @@
NamedList<List<PivotField>> found = executeQuery(request);
assertThat(found.size(), is(1));
- assertThat(found.get("level").get(0).getCount(), is(1));
+ assertThat(found.get("level").get(0).getCount(), is(2));
}
@Test
@@ -344,7 +340,7 @@
NamedList<List<PivotField>> found = executeQuery(request);
assertThat(found.size(), is(1));
- assertThat(found.get("level").get(0).getCount(), is(1));
+ assertThat(found.get("level").get(0).getCount(), is(3));
}
@Test
@@ -373,4 +369,31 @@
assertThat(found.size(), is(1));
assertThat(found.get("level").get(0).getCount(), is(3));
}
+
+ @Test
+ public void testSearchTermEndsWithDot() throws Exception {
+ solr.addDoc("0", "Caught exception checkIn.");
+ solr.addDoc("1", "Caught exception checkIn");
+ solr.addDoc("2", "Caught exception other");
+
+ BaseServiceLogRequest request = new BaseServiceLogQueryRequest();
+ request.setIncludeQuery("[{\"log_message\":\"\\\"checkIn\\\"\"}]");
+ SolrDocumentList found = executeQuery(request);
+
+ assertThat(found, hasSize(2));
+ assertThat(found, hasItem(solrDoc("0")));
+ assertThat(found, hasItem(solrDoc("1")));
+ }
+
+ @Test
+ public void testSearchPhraseContainsStar() throws Exception {
+ solr.addDoc("0", "Caught exception- checkIn");
+
+ BaseServiceLogRequest request = new BaseServiceLogQueryRequest();
+ request.setIncludeQuery("[{\"log_message\":\"\\\"Caught exception*\\\"\"}]");
+ SolrDocumentList found = executeQuery(request);
+
+ assertThat(found, hasSize(1));
+ assertThat(found, hasItem(solrDoc("0")));
+ }
}
diff --git a/ambari-logsearch-server/src/main/configsets/audit_logs/conf/managed-schema b/ambari-logsearch-server/src/main/configsets/audit_logs/conf/managed-schema
index 6896918..4715f07 100644
--- a/ambari-logsearch-server/src/main/configsets/audit_logs/conf/managed-schema
+++ b/ambari-logsearch-server/src/main/configsets/audit_logs/conf/managed-schema
@@ -91,7 +91,7 @@
<field name="ip" type="key_lower_case"/>
<field name="level" type="key_lower_case"/>
<field name="logType" type="key_lower_case" multiValued="false"/>
- <field name="log_message" type="text_ws" multiValued="false" omitNorms="false"/>
+ <field name="log_message" type="text_std_token_lower_case" multiValued="false" omitNorms="false"/>
<field name="logfile_line_number" type="tint" omitNorms="false"/>
<field name="logger_name" type="key_lower_case"/>
<field name="message_md5" type="string" multiValued="false"/>
diff --git a/ambari-logsearch-server/src/main/configsets/hadoop_logs/conf/managed-schema b/ambari-logsearch-server/src/main/configsets/hadoop_logs/conf/managed-schema
index bcc11ea..583e69a 100644
--- a/ambari-logsearch-server/src/main/configsets/hadoop_logs/conf/managed-schema
+++ b/ambari-logsearch-server/src/main/configsets/hadoop_logs/conf/managed-schema
@@ -97,7 +97,7 @@
<field name="ip" type="string" multiValued="false"/>
<field name="level" type="lowercase" multiValued="false"/>
<field name="line_number" type="tint" omitNorms="false"/>
- <field name="log_message" type="text_ws" multiValued="false" omitNorms="false"/>
+ <field name="log_message" type="text_general" multiValued="false" omitNorms="false"/>
<field name="logfile_line_number" type="tint" omitNorms="false"/>
<field name="logger_name" type="string" multiValued="false"/>
<field name="logtime" type="tdate" multiValued="false" docValues="true"/>