diff --git a/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/tools/CommonTokenOverlapCounter.java b/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/tools/CommonTokenOverlapCounter.java index ed1b09e3e08..80be9ebb9cc 100644 --- a/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/tools/CommonTokenOverlapCounter.java +++ b/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/tools/CommonTokenOverlapCounter.java @@ -16,56 +16,84 @@ */ package org.apache.tika.eval.app.tools; -import java.io.File; +import java.io.BufferedReader; import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.DirectoryStream; +import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Locale; +import java.util.Map; import java.util.Set; -import org.apache.tika.eval.core.tokens.CommonTokenCountManager; - +/** + * Dev tool that reports pairs of languages whose common-token lists overlap by more than 1%. + *

+ * The shipped runtime resources are Bloom filters, which cannot be enumerated, so this reads + * the raw {@code tokendfcf} source lists directly. Point it at a directory of those + * files (e.g. {@code tika-eval-core/src/test/resources/common_tokens}). + */ public class CommonTokenOverlapCounter { public static void main(String[] args) throws Exception { Path commonTokensDir = Paths.get(args[0]); - CommonTokenOverlapCounter counter = new CommonTokenOverlapCounter(); - counter.execute(commonTokensDir); + new CommonTokenOverlapCounter().execute(commonTokensDir); } private void execute(Path commonTokensDir) throws IOException { - List langs = new ArrayList<>(); - for (File f : commonTokensDir - .toFile() - .listFiles()) { - langs.add(f.getName()); + Map> tokensByLang = new HashMap<>(); + try (DirectoryStream ds = Files.newDirectoryStream(commonTokensDir)) { + for (Path p : ds) { + if (Files.isRegularFile(p)) { + tokensByLang.put(p.getFileName().toString(), loadTokens(p)); + } + } } - CommonTokenCountManager mgr = new CommonTokenCountManager(commonTokensDir, ""); + List langs = new ArrayList<>(tokensByLang.keySet()); for (int i = 0; i < langs.size() - 1; i++) { for (int j = i + 1; j < langs.size(); j++) { - compare(langs.get(i), langs.get(j), mgr); + compare(langs.get(i), langs.get(j), tokensByLang); + } + } + } + + private static Set loadTokens(Path p) throws IOException { + Set tokens = new HashSet<>(); + try (BufferedReader reader = Files.newBufferedReader(p, StandardCharsets.UTF_8)) { + String line; + while ((line = reader.readLine()) != null) { + line = line.trim(); + if (line.isEmpty() || line.startsWith("#")) { + continue; + } + String token = line.split("\t", 2)[0].trim(); + if (!token.isEmpty()) { + tokens.add(token); + } } } + return tokens; } - private void compare(String langA, String langB, CommonTokenCountManager mgr) { + private void compare(String langA, String langB, Map> tokensByLang) { + Set setA = tokensByLang.get(langA); + Set setB = tokensByLang.get(langB); int overlap = 0; - int denom = 0; - Set setA = mgr.getTokens(langA); - Set setB = mgr.getTokens(langB); for (String a : setA) { if (setB.contains(a)) { overlap += 2; } } - denom = setA.size() + setB.size(); + int denom = setA.size() + setB.size(); double percent = (double) overlap / (double) denom; if (percent > 0.01) { System.out.printf(Locale.US, "%s %s %.2f%n", langA, langB, percent); } } - } diff --git a/tika-eval/tika-eval-core/pom.xml b/tika-eval/tika-eval-core/pom.xml index 5bf5da8a531..8b07e85b3e6 100644 --- a/tika-eval/tika-eval-core/pom.xml +++ b/tika-eval/tika-eval-core/pom.xml @@ -55,6 +55,10 @@ commons-codec commons-codec + + org.apache.commons + commons-collections4 + org.apache.commons commons-math3 @@ -99,8 +103,10 @@ apache-rat-plugin - src/main/resources/common_tokens/* + + src/main/resources/common_tokens_bloom/* src/main/resources/*.json + src/test/resources/common_tokens/* src/test/resources/test-dirs/** diff --git a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokens.java b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokens.java index 72aeee1e6e4..fb5b5615b7f 100644 --- a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokens.java +++ b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokens.java @@ -18,7 +18,6 @@ import java.util.List; import java.util.Map; -import java.util.Set; import org.apache.commons.lang3.mutable.MutableInt; import org.apache.commons.lang3.tuple.Pair; @@ -26,6 +25,7 @@ import org.apache.tika.eval.core.tokens.CommonTokenCountManager; import org.apache.tika.eval.core.tokens.CommonTokenResult; import org.apache.tika.eval.core.tokens.LangModel; +import org.apache.tika.eval.core.tokens.TikaEvalTokenizer; import org.apache.tika.eval.core.tokens.TokenCounts; import org.apache.tika.language.detect.LanguageResult; @@ -65,7 +65,9 @@ public CommonTokenResult calculate(List languages, TokenCounts t Pair pair = commonTokenCountManager.getLangTokens(languages.get(0).getLanguage()); String actualLangCode = pair.getKey(); - Set commonTokens = pair.getValue().getTokens(); + // Membership is via a Bloom filter, so a token not in the common-tokens list may + // very occasionally be counted as common (false positive); never the reverse. + LangModel commonTokens = pair.getValue(); int numUniqueCommonTokens = 0; int numCommonTokens = 0; int numUniqueAlphabeticTokens = 0; @@ -77,7 +79,10 @@ public CommonTokenResult calculate(List languages, TokenCounts t numAlphabeticTokens += count; numUniqueAlphabeticTokens++; } - if (commonTokens.contains(token)) { + // Only test tokens that could actually be in a common-token list. A number, + // short token, or HTML term is never in the list, so testing it can only yield a + // (Bloom) false positive; skipping them is a no-op for the exact list. + if (TikaEvalTokenizer.isCommonTokenCandidate(token) && commonTokens.contains(token)) { numCommonTokens += count; numUniqueCommonTokens++; } diff --git a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokensBhattacharyya.java b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokensBhattacharyya.java deleted file mode 100644 index f23c17252ab..00000000000 --- a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokensBhattacharyya.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.tika.eval.core.textstats; - -import java.util.List; -import java.util.Map; - -import org.apache.commons.lang3.mutable.MutableInt; -import org.apache.commons.lang3.tuple.Pair; -import org.apache.commons.math3.util.FastMath; - -import org.apache.tika.eval.core.tokens.CommonTokenCountManager; -import org.apache.tika.eval.core.tokens.LangModel; -import org.apache.tika.eval.core.tokens.TokenCounts; -import org.apache.tika.language.detect.LanguageResult; - -public class CommonTokensBhattacharyya implements LanguageAwareTokenCountStats { - - private final CommonTokenCountManager commonTokenCountManager; - - public CommonTokensBhattacharyya(CommonTokenCountManager mgr) { - this.commonTokenCountManager = mgr; - } - - @Override - public Double calculate(List languages, TokenCounts tokenCounts) { - Pair pair = - commonTokenCountManager.getLangTokens(languages.get(0).getLanguage()); - LangModel model = pair.getValue(); - double sum = 0.0; - if (tokenCounts.getTokens().entrySet().size() == 0) { - return 0.0; - } - for (Map.Entry e : tokenCounts.getTokens().entrySet()) { - double p = (double) e.getValue().intValue() / (double) tokenCounts.getTotalTokens(); - if (p == 0.0) { //shouldn't happen, but be defensive - continue; - } - double q = model.getProbability(e.getKey()); - sum += FastMath.sqrt(p * q); - } - return sum; - } -} diff --git a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokensCosine.java b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokensCosine.java deleted file mode 100644 index d0b27524937..00000000000 --- a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokensCosine.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.tika.eval.core.textstats; - -import java.util.Collection; -import java.util.List; -import java.util.Map; - -import org.apache.commons.lang3.mutable.MutableInt; -import org.apache.commons.lang3.tuple.Pair; -import org.apache.commons.math3.util.FastMath; - -import org.apache.tika.eval.core.tokens.CommonTokenCountManager; -import org.apache.tika.eval.core.tokens.LangModel; -import org.apache.tika.eval.core.tokens.TokenCounts; -import org.apache.tika.language.detect.LanguageResult; - -public class CommonTokensCosine implements LanguageAwareTokenCountStats { - - private final CommonTokenCountManager commonTokenCountManager; - - public CommonTokensCosine(CommonTokenCountManager mgr) { - this.commonTokenCountManager = mgr; - } - - @Override - public Double calculate(List languages, TokenCounts tokenCounts) { - Pair pair = - commonTokenCountManager.getLangTokens(languages.get(0).getLanguage()); - LangModel model = pair.getValue(); - double kl = 0.0; - if (tokenCounts.getTokens().entrySet().size() == 0) { - return 1.0; - } - double numerator = 0.0; - double denominator = 0.0; - for (Map.Entry e : tokenCounts.getTokens().entrySet()) { - long modelCount = model.getCount(e.getKey()); - if (modelCount > 0) { - numerator += e.getValue().intValue() * modelCount; - } - double sq = FastMath.pow(e.getValue().intValue(), 2); - denominator += sq; - } - denominator = Math.sqrt(denominator); - denominator *= calcNorm(model.getCounts().values()); - return numerator / denominator; - } - - private double calcNorm(Collection counts) { - double d = 0.0; - for (long lng : counts) { - d += FastMath.pow(lng, 2); - } - return FastMath.sqrt(d); - } -} diff --git a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokensHellinger.java b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokensHellinger.java deleted file mode 100644 index cbbcacc46d4..00000000000 --- a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokensHellinger.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.tika.eval.core.textstats; - -import java.util.List; -import java.util.Map; - -import org.apache.commons.lang3.mutable.MutableInt; -import org.apache.commons.lang3.tuple.Pair; -import org.apache.commons.math3.util.FastMath; - -import org.apache.tika.eval.core.tokens.CommonTokenCountManager; -import org.apache.tika.eval.core.tokens.LangModel; -import org.apache.tika.eval.core.tokens.TokenCounts; -import org.apache.tika.language.detect.LanguageResult; - -public class CommonTokensHellinger implements LanguageAwareTokenCountStats { - - private final CommonTokenCountManager commonTokenCountManager; - - public CommonTokensHellinger(CommonTokenCountManager mgr) { - this.commonTokenCountManager = mgr; - } - - @Override - public Double calculate(List languages, TokenCounts tokenCounts) { - Pair pair = - commonTokenCountManager.getLangTokens(languages.get(0).getLanguage()); - LangModel model = pair.getValue(); - double sum = 0.0; - if (tokenCounts.getTokens().entrySet().size() == 0) { - return 0.0; - } - for (Map.Entry e : tokenCounts.getTokens().entrySet()) { - double p = (double) e.getValue().intValue() / (double) tokenCounts.getTotalTokens(); - if (p == 0.0) { //shouldn't happen, but be defensive - continue; - } - double q = model.getProbability(e.getKey()); - sum += FastMath.pow(FastMath.sqrt(p) - FastMath.sqrt(q), 2.0); - } - return 1 / FastMath.sqrt(2.0) * Math.sqrt(sum); - } -} diff --git a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokensKLDNormed.java b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokensKLDNormed.java deleted file mode 100644 index ec0a99ba7b8..00000000000 --- a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokensKLDNormed.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.tika.eval.core.textstats; - -import java.util.List; -import java.util.Map; - -import org.apache.commons.lang3.mutable.MutableInt; -import org.apache.commons.lang3.tuple.Pair; -import org.apache.commons.math3.util.FastMath; - -import org.apache.tika.eval.core.tokens.CommonTokenCountManager; -import org.apache.tika.eval.core.tokens.LangModel; -import org.apache.tika.eval.core.tokens.TokenCounts; -import org.apache.tika.language.detect.LanguageResult; - -public class CommonTokensKLDNormed implements LanguageAwareTokenCountStats { - - private final CommonTokenCountManager commonTokenCountManager; - - public CommonTokensKLDNormed(CommonTokenCountManager mgr) { - this.commonTokenCountManager = mgr; - } - - @Override - public Double calculate(List languages, TokenCounts tokenCounts) { - Pair pair = - commonTokenCountManager.getLangTokens(languages.get(0).getLanguage()); - LangModel model = pair.getValue(); - double kl = 0.0; - if (tokenCounts.getTokens().entrySet().size() == 0) { - return 1.0; - } - double worstCase = 0.0; - for (Map.Entry e : tokenCounts.getTokens().entrySet()) { - double p = (double) e.getValue().intValue() / (double) tokenCounts.getTotalTokens(); - if (p == 0.0) { //shouldn't happen, but be defensive - continue; - } - double q = model.getProbability(e.getKey()); - kl += p * FastMath.log(q / p); - } - for (int i = 0; i < tokenCounts.getTotalTokens(); i++) { - double worstCaseP = 1 / (double) tokenCounts.getTotalTokens(); - worstCase += worstCaseP * FastMath.log(model.getUnseenProbability() / worstCaseP); - - } - return (kl / worstCase); - } -} diff --git a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokensKLDivergence.java b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokensKLDivergence.java deleted file mode 100644 index 59d31aeb996..00000000000 --- a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/CommonTokensKLDivergence.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.tika.eval.core.textstats; - -import java.util.List; -import java.util.Map; - -import org.apache.commons.lang3.mutable.MutableInt; -import org.apache.commons.lang3.tuple.Pair; -import org.apache.commons.math3.util.FastMath; - -import org.apache.tika.eval.core.tokens.CommonTokenCountManager; -import org.apache.tika.eval.core.tokens.LangModel; -import org.apache.tika.eval.core.tokens.TokenCounts; -import org.apache.tika.language.detect.LanguageResult; - -public class CommonTokensKLDivergence implements LanguageAwareTokenCountStats { - - private final CommonTokenCountManager commonTokenCountManager; - - public CommonTokensKLDivergence(CommonTokenCountManager mgr) { - this.commonTokenCountManager = mgr; - } - - @Override - public Double calculate(List languages, TokenCounts tokenCounts) { - Pair pair = - commonTokenCountManager.getLangTokens(languages.get(0).getLanguage()); - LangModel model = pair.getValue(); - double kl = 0.0; - if (tokenCounts.getTokens().entrySet().size() == 0) { - return 1.0; - } - for (Map.Entry e : tokenCounts.getTokens().entrySet()) { - double p = (double) e.getValue().intValue() / (double) tokenCounts.getTotalTokens(); - if (p == 0.0) { //shouldn't happen, but be defensive - continue; - } - double q = model.getProbability(e.getKey()); - kl += p * FastMath.log(q / p); - } - return -1.0 * kl; - } -} diff --git a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/CommonTokenCountManager.java b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/CommonTokenCountManager.java index e6959c97a7e..9c7a66c328f 100644 --- a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/CommonTokenCountManager.java +++ b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/CommonTokenCountManager.java @@ -16,39 +16,36 @@ */ package org.apache.tika.eval.core.tokens; -import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; -import java.io.InputStreamReader; -import java.nio.charset.Charset; -import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.util.Collections; import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.regex.Matcher; -import java.util.regex.Pattern; +import org.apache.commons.collections4.bloomfilter.BloomFilter; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.tuple.Pair; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +/** + * Lazily loads the per-language "common tokens" Bloom filters (see {@link CommonTokensBloom}) + * from the classpath ({@code /common_tokens_bloom/}) or from a configured directory. + */ public class CommonTokenCountManager { + static final String COMMON_TOKENS_BLOOM_PATH = "/common_tokens_bloom/"; + private static final Logger LOG = LoggerFactory.getLogger(CommonTokenCountManager.class); - private static final Charset COMMON_TOKENS_CHARSET = StandardCharsets.UTF_8; - private static final String TERM_FREQS = "#SUM_TERM_FREQS\t"; private final Path commonTokensDir; //if we have no model or if no langid is passed in //make this configurable private final String defaultLangCode; Map commonTokenMap = new ConcurrentHashMap<>(); Set alreadyTriedToLoad = new HashSet<>(); - private Matcher digitsMatcher = Pattern.compile("(\\d+)").matcher(""); public CommonTokenCountManager() { this(null, null); @@ -75,19 +72,13 @@ public CommonTokenCountManager(Path commonTokensDir, String defaultLangCode) { } } - public Set getTokens(String lang) { - return Collections.unmodifiableSet( - new HashSet(commonTokenMap.get(getActualLangCode(lang)).getTokens())); - } - public Set getLangs() { return commonTokenMap.keySet(); } /** - * @param lang - * @return pair of actual language code used and a set of common - * tokens for that language + * @param lang requested language code + * @return pair of the actual language code used and the common-tokens model for it */ public Pair getLangTokens(String lang) { String actualLangCode = getActualLangCode(lang); @@ -132,60 +123,26 @@ private synchronized void tryToLoad(String langCode) { try { if (p == null || !Files.isRegularFile(p)) { - is = this.getClass().getResourceAsStream("/common_tokens/" + langCode); + is = this.getClass().getResourceAsStream(COMMON_TOKENS_BLOOM_PATH + langCode); } else { is = Files.newInputStream(p); } + alreadyTriedToLoad.add(langCode); if (is == null) { - String path = (p == null) ? "resource on class path: /common_tokens/" + langCode : + String path = (p == null) ? + "resource on class path: " + COMMON_TOKENS_BLOOM_PATH + langCode : p.toAbsolutePath().toString(); LOG.warn("Couldn't find common tokens file for: '" + langCode + "' tried here: " + path); - alreadyTriedToLoad.add(langCode); return; } - LangModel model = null; - try (BufferedReader reader = new BufferedReader( - new InputStreamReader(is, COMMON_TOKENS_CHARSET))) { - alreadyTriedToLoad.add(langCode); - String line = reader.readLine(); - while (line != null) { - line = line.trim(); - if (line.startsWith("#")) { - if (line.startsWith(TERM_FREQS)) { - digitsMatcher.reset(line); - if (digitsMatcher.find()) { - model = new LangModel(Long.parseLong(digitsMatcher.group(1))); - } - } - line = reader.readLine(); - continue; - } - //allow language models with, e.g. tab-delimited counts after the term - String[] cols = line.split("\t"); - String t = cols[0].trim(); - if (t.length() > 0 && cols.length > 2) { - if (model == null) { - throw new IllegalArgumentException( - "Common tokens file must have included comment line " + - " with " + TERM_FREQS); - } - //document frequency - String df = cols[1]; - //token frequency - long tf = Long.parseLong(cols[2]); - model.add(t, tf); - } - - line = reader.readLine(); - } - } - commonTokenMap.put(langCode, model); + BloomFilter filter = CommonTokensBloom.read(is); + commonTokenMap.put(langCode, new LangModel(filter)); } catch (IOException e) { - LOG.warn("IOException trying to read: '" + langCode + "'"); + LOG.warn("IOException trying to read: '" + langCode + "'", e); } finally { IOUtils.closeQuietly(is); } diff --git a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/CommonTokensBloom.java b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/CommonTokensBloom.java new file mode 100644 index 00000000000..00e219ad86d --- /dev/null +++ b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/CommonTokensBloom.java @@ -0,0 +1,137 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.tika.eval.core.tokens; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.charset.StandardCharsets; + +import org.apache.commons.codec.digest.MurmurHash3; +import org.apache.commons.collections4.bloomfilter.BitMapExtractor; +import org.apache.commons.collections4.bloomfilter.BloomFilter; +import org.apache.commons.collections4.bloomfilter.EnhancedDoubleHasher; +import org.apache.commons.collections4.bloomfilter.Hasher; +import org.apache.commons.collections4.bloomfilter.Shape; +import org.apache.commons.collections4.bloomfilter.SimpleBloomFilter; + +/** + * Shared serialization, sizing and hashing for the per-language "common tokens" Bloom filters. + *

+ * The common-token lists are only ever queried for membership ("is this token one of the N + * most common tokens in language X?"), so they are shipped as one Bloom filter per language + * instead of the raw token lists. This is dramatically smaller (the filter is sized by the + * token count, not the token text) at the cost of a small, bounded false-positive + * rate: a token that is not common may occasionally be reported as common. There are never + * false negatives. For the OOV/common-token ratio this feeds, that bias is negligible. + *

+ * Both the runtime loader ({@link CommonTokenCountManager}) and the offline generator use the + * methods here so the hashing and on-disk format can never drift apart. The format is: + *

+ *   int  magic   (0x54424631, "TBF1")
+ *   int  k       (number of hash functions)
+ *   int  m       (number of bits)
+ *   int  nLongs  (length of the bit-map array)
+ *   long[nLongs] bit map (big-endian)
+ * 
+ */ +public final class CommonTokensBloom { + + /** + * Target false-positive rate for the generated filters. See the class comment for why a + * non-zero rate is acceptable here. Changing this requires regenerating the shipped + * {@code common_tokens_bloom/} resources. + *

+ * 0.0001 (1 in 10,000) keeps the OOV metric close to a literal lookup list: the candidate + * filter already removes numeric/short/HTML false positives, and this rate makes a residual + * collision on a genuine word ~10x rarer, which matters for repetitive junk docs where a + * single dominant token can swing occurrence-weighted OOV. Costs ~2 MB over 0.001. + */ + public static final double DEFAULT_FPP = 0.0001; + + private static final int MAGIC = 0x54424631; // "TBF1" + + private CommonTokensBloom() { + } + + /** + * @param numTokens number of tokens that will be added to the filter + * @return a {@link Shape} sized for {@code numTokens} at {@link #DEFAULT_FPP} + */ + public static Shape shapeFor(int numTokens) { + return Shape.fromNP(Math.max(1, numTokens), DEFAULT_FPP); + } + + /** + * Deterministic hasher for a token, used identically at generation and query time. + */ + public static Hasher hasher(String token) { + long[] h = MurmurHash3.hash128x64(token.getBytes(StandardCharsets.UTF_8)); + return new EnhancedDoubleHasher(h[0], h[1]); + } + + /** + * @return {@code true} if {@code token} might be in {@code filter} (subject to the + * filter's false-positive rate); {@code false} means it is definitely not present. + */ + public static boolean mightContain(BloomFilter filter, String token) { + return filter.contains(hasher(token).indices(filter.getShape())); + } + + /** + * Writes {@code filter} to {@code os} in the format documented on this class. Does not + * close the stream. + */ + public static void write(OutputStream os, BloomFilter filter) throws IOException { + Shape shape = filter.getShape(); + long[] bits = filter.asBitMapArray(); + DataOutputStream d = new DataOutputStream(os); + d.writeInt(MAGIC); + d.writeInt(shape.getNumberOfHashFunctions()); + d.writeInt(shape.getNumberOfBits()); + d.writeInt(bits.length); + for (long b : bits) { + d.writeLong(b); + } + d.flush(); + } + + /** + * Reads a filter written by {@link #write}. Does not close the stream. + */ + public static BloomFilter read(InputStream is) throws IOException { + DataInputStream d = new DataInputStream(is); + int magic = d.readInt(); + if (magic != MAGIC) { + throw new IOException( + "Not a common-tokens Bloom filter (bad magic: 0x" + Integer.toHexString(magic) + + ")"); + } + int k = d.readInt(); + int m = d.readInt(); + int nLongs = d.readInt(); + long[] bits = new long[nLongs]; + for (int i = 0; i < nLongs; i++) { + bits[i] = d.readLong(); + } + SimpleBloomFilter filter = new SimpleBloomFilter(Shape.fromKM(k, m)); + filter.merge(BitMapExtractor.fromBitMapArray(bits)); + return filter; + } +} diff --git a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/LangModel.java b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/LangModel.java index 2c7f889b5be..ef776893c0e 100644 --- a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/LangModel.java +++ b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/LangModel.java @@ -16,63 +16,31 @@ */ package org.apache.tika.eval.core.tokens; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; - +import org.apache.commons.collections4.bloomfilter.BloomFilter; + +/** + * The set of "common tokens" for a single language, backed by a Bloom filter. + *

+ * Membership is approximate: {@link #contains(String)} may occasionally return {@code true} + * for a token that is not actually common (a false positive), but never returns {@code false} + * for one that is. See {@link CommonTokensBloom} for the rationale and false-positive rate. + */ public class LangModel { - public static LangModel EMPTY_MODEL = new LangModel(-1); - private final long totalTokens; - private final double unseenPercentage; + /** Model used when a language has no common-tokens resource; nothing is "common". */ + public static final LangModel EMPTY_MODEL = new LangModel(null); + private final BloomFilter filter; - private Map percentages = new HashMap<>(); - private Map counts = new HashMap<>(); - - public LangModel(long totalTokens) { - this.totalTokens = totalTokens; - this.unseenPercentage = (double) 1 / (double) totalTokens; + public LangModel(BloomFilter filter) { + this.filter = filter; } - + /** + * @return {@code true} if {@code token} is (probably) one of the common tokens for this + * language; {@code false} means it is definitely not. + */ public boolean contains(String token) { - return (percentages.containsKey(token)); - } - - public Set getTokens() { - return percentages.keySet(); - } - - public double getProbability(String token) { - Double p = percentages.get(token); - if (p != null) { - return p; - } else { - return unseenPercentage; - } - } - - public void add(String t, long tf) { - double p = (double) tf / (double) totalTokens; - percentages.put(t, p); - counts.put(t, tf); - } - - public double getUnseenProbability() { - return unseenPercentage; - } - - public long getCount(String token) { - Long cnt = counts.get(token); - if (cnt == null) { - return 0; - } else { - return cnt; - } - } - - public Map getCounts() { - return counts; + return filter != null && CommonTokensBloom.mightContain(filter, token); } } diff --git a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/TikaEvalTokenizer.java b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/TikaEvalTokenizer.java index 8cfc07b001e..f84e0fb3381 100644 --- a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/TikaEvalTokenizer.java +++ b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/TikaEvalTokenizer.java @@ -104,6 +104,43 @@ public enum Mode { private TikaEvalTokenizer() { } + /** + * Tests whether {@code token} could be a {@link Mode#COMMON_TOKENS} candidate, i.e. whether + * it is the kind of token the common-token lists are built from. Use this to gate + * common-token membership lookups on tokens produced in {@link Mode#STANDARD} mode (which + * also emits numbers and short tokens): a token that could never be in a list should not be + * tested against it, since the only possible outcome is a false positive. + *

+ * Mirrors {@link #flushWord}: alphabetic/ideographic only (no digits or punctuation), + * length 1..{@link #MAX_TOKEN_LENGTH}, at least {@link #MIN_ALPHA_TOKEN_LENGTH} characters + * for non-ideographic tokens (CJK tokens are exempt), and not an excluded HTML term. + */ + public static boolean isCommonTokenCandidate(String token) { + int len = token.length(); + if (len == 0 || len > MAX_TOKEN_LENGTH) { + return false; + } + boolean ideographic = false; + int i = 0; + while (i < len) { + int cp = token.codePointAt(i); + i += Character.charCount(cp); + if (Character.isDigit(cp)) { + return false; + } + if (!Character.isAlphabetic(cp) && !Character.isIdeographic(cp) && cp != '_') { + return false; + } + if (Character.isIdeographic(cp)) { + ideographic = true; + } + } + if (!ideographic && len < MIN_ALPHA_TOKEN_LENGTH) { + return false; + } + return !SKIP_SET.contains(token); + } + /** * Tokenize in {@link Mode#COMMON_TOKENS} mode and return tokens as a list. * diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ace b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ace new file mode 100644 index 00000000000..f6d4bcf7383 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ace differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/afr b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/afr new file mode 100644 index 00000000000..f758d31b981 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/afr differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/aka b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/aka new file mode 100644 index 00000000000..56ff504aaae Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/aka differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/alt b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/alt new file mode 100644 index 00000000000..d34245c7532 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/alt differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/amh b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/amh new file mode 100644 index 00000000000..dcd9c245535 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/amh differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ami b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ami new file mode 100644 index 00000000000..5f237937531 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ami differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ara b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ara new file mode 100644 index 00000000000..5ceb4b4a7e5 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ara differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/arg b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/arg new file mode 100644 index 00000000000..7b2e7351574 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/arg differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/asm b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/asm new file mode 100644 index 00000000000..db7dda4594e Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/asm differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ava b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ava new file mode 100644 index 00000000000..fcaec3f6d20 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ava differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/avk b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/avk new file mode 100644 index 00000000000..05909084a89 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/avk differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/azb b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/azb new file mode 100644 index 00000000000..9f0085918bc Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/azb differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/aze b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/aze new file mode 100644 index 00000000000..00ce2987098 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/aze differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bak b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bak new file mode 100644 index 00000000000..0d1a89a05a6 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bak differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ban b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ban new file mode 100644 index 00000000000..a28bf5a8e2d Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ban differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bar b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bar new file mode 100644 index 00000000000..ea6af2a2e11 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bar differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bcl b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bcl new file mode 100644 index 00000000000..bbf747a7812 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bcl differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/be-x-old b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/be-x-old new file mode 100644 index 00000000000..2e5b5b83d81 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/be-x-old differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bel b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bel new file mode 100644 index 00000000000..40d52692cb4 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bel differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ben b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ben new file mode 100644 index 00000000000..f8b08d3aa54 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ben differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bjn b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bjn new file mode 100644 index 00000000000..70927667633 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bjn differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bod b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bod new file mode 100644 index 00000000000..68e0270e941 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bod differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bre b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bre new file mode 100644 index 00000000000..12340c0cb1c Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bre differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bul b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bul new file mode 100644 index 00000000000..bb70273b2fd Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bul differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bxr b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bxr new file mode 100644 index 00000000000..025cc0bd9bc Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/bxr differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cat b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cat new file mode 100644 index 00000000000..4b78d4139b7 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cat differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cdo-x-rom b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cdo-x-rom new file mode 100644 index 00000000000..c7968058946 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cdo-x-rom differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ceb b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ceb new file mode 100644 index 00000000000..b1d9ef3c4af Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ceb differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ces b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ces new file mode 100644 index 00000000000..025b3543aa5 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ces differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/che b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/che new file mode 100644 index 00000000000..cb76d2c65bb Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/che differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/chv b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/chv new file mode 100644 index 00000000000..bbd6ddbb884 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/chv differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ckb b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ckb new file mode 100644 index 00000000000..8d7f92db420 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ckb differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cnh b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cnh new file mode 100644 index 00000000000..e71478c0251 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cnh differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cor b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cor new file mode 100644 index 00000000000..2bdd25c95f0 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cor differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cos b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cos new file mode 100644 index 00000000000..a931d8186a7 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cos differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/csb b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/csb new file mode 100644 index 00000000000..cdc85fc2565 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/csb differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cym b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cym new file mode 100644 index 00000000000..e6825b32704 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/cym differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/dag b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/dag new file mode 100644 index 00000000000..0de06759f3a Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/dag differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/dan b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/dan new file mode 100644 index 00000000000..601e3aa46e0 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/dan differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/deu b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/deu new file mode 100644 index 00000000000..37a84c25259 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/deu differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/diq b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/diq new file mode 100644 index 00000000000..96d899f3b3c Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/diq differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/div b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/div new file mode 100644 index 00000000000..0aa82aab83d Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/div differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/dsb b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/dsb new file mode 100644 index 00000000000..c22852adb44 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/dsb differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ell b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ell new file mode 100644 index 00000000000..af0d9a1dcf5 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ell differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/eng b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/eng new file mode 100644 index 00000000000..54d67e299e5 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/eng differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/epo b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/epo new file mode 100644 index 00000000000..b019d1ad4c3 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/epo differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/est b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/est new file mode 100644 index 00000000000..353b3e02384 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/est differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/eus b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/eus new file mode 100644 index 00000000000..46d725d1736 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/eus differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ewe b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ewe new file mode 100644 index 00000000000..118a0dc2796 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ewe differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ext b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ext new file mode 100644 index 00000000000..6217a55c01d Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ext differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/fao b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/fao new file mode 100644 index 00000000000..d1dcbdd3efa Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/fao differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/fas b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/fas new file mode 100644 index 00000000000..c795100fbb1 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/fas differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/fin b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/fin new file mode 100644 index 00000000000..bd38bbca98d Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/fin differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/fra b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/fra new file mode 100644 index 00000000000..21e3770f756 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/fra differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/frr b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/frr new file mode 100644 index 00000000000..61f15f3e7b4 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/frr differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/fry b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/fry new file mode 100644 index 00000000000..9e1e84e7e4f Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/fry differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/gla b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/gla new file mode 100644 index 00000000000..d838bdd62b6 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/gla differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/gle b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/gle new file mode 100644 index 00000000000..8d474d5740c Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/gle differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/glg b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/glg new file mode 100644 index 00000000000..5cde117461b Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/glg differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/glv b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/glv new file mode 100644 index 00000000000..2db57abece7 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/glv differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/gom b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/gom new file mode 100644 index 00000000000..b92df26b4e5 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/gom differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/grn b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/grn new file mode 100644 index 00000000000..3a252c4db56 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/grn differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/gsw b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/gsw new file mode 100644 index 00000000000..5205710334e Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/gsw differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/guj b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/guj new file mode 100644 index 00000000000..0be7149ce21 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/guj differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hak-x-rom b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hak-x-rom new file mode 100644 index 00000000000..681a527e67d Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hak-x-rom differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hau b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hau new file mode 100644 index 00000000000..5de9f9bdcea Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hau differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/heb b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/heb new file mode 100644 index 00000000000..fa71b003172 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/heb differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hil b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hil new file mode 100644 index 00000000000..6016bcc0ae6 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hil differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hin b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hin new file mode 100644 index 00000000000..4e301e6107c Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hin differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hrv b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hrv new file mode 100644 index 00000000000..fd0a3d355d0 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hrv differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hsb b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hsb new file mode 100644 index 00000000000..f034ca48fdc Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hsb differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hun b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hun new file mode 100644 index 00000000000..172b8e602b7 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hun differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hye b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hye new file mode 100644 index 00000000000..44d4ebd33fa Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hye differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hyw b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hyw new file mode 100644 index 00000000000..4482419567f Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/hyw differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ibo b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ibo new file mode 100644 index 00000000000..528122b4d44 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ibo differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ido b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ido new file mode 100644 index 00000000000..b2edddf5c77 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ido differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ile b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ile new file mode 100644 index 00000000000..64db0c5f115 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ile differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ilo b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ilo new file mode 100644 index 00000000000..645ddd72527 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ilo differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ina b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ina new file mode 100644 index 00000000000..d21583dc38e Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ina differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ind b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ind new file mode 100644 index 00000000000..a042a40adf8 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ind differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/isl b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/isl new file mode 100644 index 00000000000..6a96bb1ea10 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/isl differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ita b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ita new file mode 100644 index 00000000000..133d097332c Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ita differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/jav b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/jav new file mode 100644 index 00000000000..dd8d00d72a0 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/jav differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/jbo b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/jbo new file mode 100644 index 00000000000..6d6aae700cf Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/jbo differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/jpn b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/jpn new file mode 100644 index 00000000000..7adc32c8caf Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/jpn differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kaa b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kaa new file mode 100644 index 00000000000..b1f86dc8581 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kaa differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kab b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kab new file mode 100644 index 00000000000..39572bbfe4d Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kab differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kan b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kan new file mode 100644 index 00000000000..095f8ee11a0 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kan differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kat b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kat new file mode 100644 index 00000000000..bed0c542c75 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kat differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kaz b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kaz new file mode 100644 index 00000000000..919c29a7267 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kaz differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kha b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kha new file mode 100644 index 00000000000..18d73153cfa Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kha differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/khm b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/khm new file mode 100644 index 00000000000..7c096655ad0 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/khm differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kin b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kin new file mode 100644 index 00000000000..96078a432be Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kin differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kir b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kir new file mode 100644 index 00000000000..bdf57d5ba83 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kir differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kor b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kor new file mode 100644 index 00000000000..d080e903662 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kor differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kpv b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kpv new file mode 100644 index 00000000000..1d8027c7c4d Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kpv differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ksh b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ksh new file mode 100644 index 00000000000..8c41b10fc62 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ksh differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kur b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kur new file mode 100644 index 00000000000..b31cc9b81b5 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/kur differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lao b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lao new file mode 100644 index 00000000000..2ff090d3b45 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lao differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lat b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lat new file mode 100644 index 00000000000..47dfdc7c7ef Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lat differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lav b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lav new file mode 100644 index 00000000000..ab503a9b78f Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lav differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lez b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lez new file mode 100644 index 00000000000..a43de04d4a1 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lez differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lfn b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lfn new file mode 100644 index 00000000000..971a30d1679 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lfn differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lim b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lim new file mode 100644 index 00000000000..75d399ad9fb Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lim differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lit b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lit new file mode 100644 index 00000000000..3a7ab5dbc02 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lit differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ltz b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ltz new file mode 100644 index 00000000000..af9863c74e3 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ltz differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lug b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lug new file mode 100644 index 00000000000..c16eaef8fcc Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lug differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lus b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lus new file mode 100644 index 00000000000..1c7aee505d8 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/lus differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mal b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mal new file mode 100644 index 00000000000..3e244b841f4 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mal differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mar b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mar new file mode 100644 index 00000000000..f86e0f00407 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mar differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mhr b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mhr new file mode 100644 index 00000000000..3f4b1119fe0 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mhr differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/min b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/min new file mode 100644 index 00000000000..0c7afe1a7bb Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/min differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mkd b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mkd new file mode 100644 index 00000000000..dcf89c0a50a Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mkd differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mlg b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mlg new file mode 100644 index 00000000000..62ccca7a57c Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mlg differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mlt b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mlt new file mode 100644 index 00000000000..87f9c0b2242 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mlt differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mon b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mon new file mode 100644 index 00000000000..f385cab02aa Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mon differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mrj b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mrj new file mode 100644 index 00000000000..6c77fa0102d Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mrj differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/msa b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/msa new file mode 100644 index 00000000000..dbf4b107793 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/msa differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mwl b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mwl new file mode 100644 index 00000000000..56cc0ec84db Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mwl differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mya b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mya new file mode 100644 index 00000000000..1a98483228a Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mya differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/myv b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/myv new file mode 100644 index 00000000000..1fc2e0c9aec Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/myv differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mzn b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mzn new file mode 100644 index 00000000000..dbed1501709 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/mzn differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nds b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nds new file mode 100644 index 00000000000..0bf852ebb5a Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nds differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nep b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nep new file mode 100644 index 00000000000..d4f89fa552a Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nep differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nld b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nld new file mode 100644 index 00000000000..bdb23a5b284 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nld differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nno b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nno new file mode 100644 index 00000000000..177c94474d4 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nno differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nob b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nob new file mode 100644 index 00000000000..4932c74aeb8 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nob differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nqo b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nqo new file mode 100644 index 00000000000..2579482e9d8 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nqo differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nso b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nso new file mode 100644 index 00000000000..c8f47408f62 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nso differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nya b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nya new file mode 100644 index 00000000000..6da41170d04 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/nya differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/olo b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/olo new file mode 100644 index 00000000000..ff9c2a39a8c Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/olo differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ori b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ori new file mode 100644 index 00000000000..2d003a600f1 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ori differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/orm b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/orm new file mode 100644 index 00000000000..e01b343594e Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/orm differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/oss b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/oss new file mode 100644 index 00000000000..90c5206691d Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/oss differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pam b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pam new file mode 100644 index 00000000000..095250b4d6d Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pam differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pan b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pan new file mode 100644 index 00000000000..9bf7456d04f Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pan differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pap b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pap new file mode 100644 index 00000000000..9e77ee1117c Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pap differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pfl b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pfl new file mode 100644 index 00000000000..2705cf0c61c Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pfl differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pnb b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pnb new file mode 100644 index 00000000000..0d1acf52af6 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pnb differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pol b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pol new file mode 100644 index 00000000000..255fa0da541 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pol differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/por b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/por new file mode 100644 index 00000000000..07627111216 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/por differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pus b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pus new file mode 100644 index 00000000000..832e32d5ca5 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/pus differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/roh b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/roh new file mode 100644 index 00000000000..d6dee8e30b2 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/roh differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ron b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ron new file mode 100644 index 00000000000..45c122e5870 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ron differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/rue b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/rue new file mode 100644 index 00000000000..e3c16e6e3d8 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/rue differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/rus b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/rus new file mode 100644 index 00000000000..23b0fbaa5c3 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/rus differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sah b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sah new file mode 100644 index 00000000000..092fc6bd247 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sah differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/san b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/san new file mode 100644 index 00000000000..76ed8251446 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/san differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sat b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sat new file mode 100644 index 00000000000..be0c15ce3c6 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sat differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sgs b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sgs new file mode 100644 index 00000000000..338362153a0 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sgs differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sin b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sin new file mode 100644 index 00000000000..5f0712b5e33 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sin differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/skr b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/skr new file mode 100644 index 00000000000..ae821edb26b Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/skr differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/slk b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/slk new file mode 100644 index 00000000000..fca5a034869 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/slk differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/slv b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/slv new file mode 100644 index 00000000000..7aface6a51e Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/slv differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sme b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sme new file mode 100644 index 00000000000..6fca6b2fa35 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sme differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/smn b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/smn new file mode 100644 index 00000000000..bfe0d3cc3f0 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/smn differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/smo b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/smo new file mode 100644 index 00000000000..b33cb2aa87e Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/smo differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sna b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sna new file mode 100644 index 00000000000..9ba118ff957 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sna differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/snd b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/snd new file mode 100644 index 00000000000..35d3a2fe013 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/snd differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/som b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/som new file mode 100644 index 00000000000..06da6a74be5 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/som differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/spa b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/spa new file mode 100644 index 00000000000..a4a5c67fcd2 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/spa differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sqi b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sqi new file mode 100644 index 00000000000..9e1558e56dd Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sqi differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/srp b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/srp new file mode 100644 index 00000000000..c1b98728506 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/srp differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/stq b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/stq new file mode 100644 index 00000000000..3a1c9a4f6fb Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/stq differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sun b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sun new file mode 100644 index 00000000000..fe1e51c5896 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/sun differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/swe b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/swe new file mode 100644 index 00000000000..12e6f27d27d Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/swe differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/swh b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/swh new file mode 100644 index 00000000000..67d4298ce80 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/swh differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/szl b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/szl new file mode 100644 index 00000000000..88f34d6c100 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/szl differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/szy b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/szy new file mode 100644 index 00000000000..f45e0c67a97 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/szy differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tam b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tam new file mode 100644 index 00000000000..421f3cb03cf Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tam differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tat b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tat new file mode 100644 index 00000000000..6ae87251cac Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tat differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tay b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tay new file mode 100644 index 00000000000..89cd8c29ec2 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tay differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tel b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tel new file mode 100644 index 00000000000..cfb8cf2626a Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tel differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tet b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tet new file mode 100644 index 00000000000..91fbfe267bc Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tet differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tgk b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tgk new file mode 100644 index 00000000000..4669bb7fc21 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tgk differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tgl b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tgl new file mode 100644 index 00000000000..2e412ab4f99 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tgl differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tha b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tha new file mode 100644 index 00000000000..9bddd2d6206 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tha differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tir b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tir new file mode 100644 index 00000000000..923a6fd63e6 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tir differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/trv b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/trv new file mode 100644 index 00000000000..80ca795b267 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/trv differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tsn b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tsn new file mode 100644 index 00000000000..8d426eec398 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tsn differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tso b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tso new file mode 100644 index 00000000000..460795ff2a6 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tso differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tuk b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tuk new file mode 100644 index 00000000000..27101e1b9c4 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tuk differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tum b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tum new file mode 100644 index 00000000000..174b4569be7 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tum differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tur b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tur new file mode 100644 index 00000000000..81fbcb32692 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tur differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tyv b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tyv new file mode 100644 index 00000000000..effb5493e22 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/tyv differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/udm b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/udm new file mode 100644 index 00000000000..e60c40b491c Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/udm differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/uig b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/uig new file mode 100644 index 00000000000..3d2bf847f21 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/uig differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ukr b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ukr new file mode 100644 index 00000000000..682111630c6 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ukr differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/urd b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/urd new file mode 100644 index 00000000000..7167cfeae52 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/urd differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/uzb b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/uzb new file mode 100644 index 00000000000..571055c729d Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/uzb differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/vep b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/vep new file mode 100644 index 00000000000..06dedc27621 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/vep differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/vie b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/vie new file mode 100644 index 00000000000..c26ca22ccee Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/vie differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/vls b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/vls new file mode 100644 index 00000000000..84d5ffad321 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/vls differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/vol b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/vol new file mode 100644 index 00000000000..79920db0d98 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/vol differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/vro b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/vro new file mode 100644 index 00000000000..c5f7ccb2075 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/vro differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/war b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/war new file mode 100644 index 00000000000..f78ce7416f7 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/war differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/wln b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/wln new file mode 100644 index 00000000000..a602fd4a296 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/wln differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/xho b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/xho new file mode 100644 index 00000000000..9248ea47185 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/xho differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/xmf b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/xmf new file mode 100644 index 00000000000..a9008f814e9 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/xmf differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ydd b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ydd new file mode 100644 index 00000000000..935f3cd4105 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/ydd differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/yor b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/yor new file mode 100644 index 00000000000..227d16a1248 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/yor differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/yue b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/yue new file mode 100644 index 00000000000..3f20af22434 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/yue differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/zho b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/zho new file mode 100644 index 00000000000..97364b3d43c Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/zho differ diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/zul b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/zul new file mode 100644 index 00000000000..0cd235afa66 Binary files /dev/null and b/tika-eval/tika-eval-core/src/main/resources/common_tokens_bloom/zul differ diff --git a/tika-eval/tika-eval-core/src/test/java/org/apache/tika/eval/core/langid/LangIdTest.java b/tika-eval/tika-eval-core/src/test/java/org/apache/tika/eval/core/langid/LangIdTest.java index caabd10a7f3..447c40f79b5 100644 --- a/tika-eval/tika-eval-core/src/test/java/org/apache/tika/eval/core/langid/LangIdTest.java +++ b/tika-eval/tika-eval-core/src/test/java/org/apache/tika/eval/core/langid/LangIdTest.java @@ -19,44 +19,55 @@ import static org.junit.jupiter.api.Assertions.fail; import java.io.File; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Arrays; import java.util.Locale; import java.util.Set; +import java.util.stream.Stream; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; -import org.apache.tika.eval.core.tokens.CommonTokenCountManager; - public class LangIdTest { @Test @Disabled("run manually when updating common tokens or the language model") public void testCommonTokensCoverage() throws Exception { - //make sure that there is a common tokens file for every - //language - CommonTokenCountManager commonTokens = new CommonTokenCountManager(null, "eng"); + //make sure that there is a common tokens (source) list for every language and no extras. + //The shipped runtime resources are Bloom filters (not enumerable), so check the raw + //token lists under src/test/resources/common_tokens instead. + Path commonTokensDir = Paths.get(getClass().getResource("/common_tokens").toURI()); Set supported = LanguageIDWrapper.getSupportedLanguages(); String[] langs = supported.toArray(new String[0]); Arrays.sort(langs); for (String lang : langs) { - Set tokens = commonTokens.getTokens(lang); - if (tokens.size() == 0) { + Path f = commonTokensDir.resolve(lang); + if (!Files.isRegularFile(f)) { fail(String.format(Locale.US, "missing common tokens for: %s", lang)); - } else if (tokens.size() < 250) { - fail(String.format(Locale.US, "common tokens too small (%s) for: %s", - tokens.size(), lang)); + } + long tokens = countTokens(f); + if (tokens < 250) { + fail(String.format(Locale.US, "common tokens too small (%d) for: %s", tokens, lang)); } } - Path p = Paths.get(getClass().getResource("/common_tokens").toURI()); - for (File f : p.toFile().listFiles()) { + for (File f : commonTokensDir.toFile().listFiles()) { if (!supported.contains(f.getName())) { fail("extra common tokens for: " + f.getName()); } } } + + private static long countTokens(Path f) throws IOException { + try (Stream lines = Files.lines(f, StandardCharsets.UTF_8)) { + return lines.map(String::trim) + .filter(l -> !l.isEmpty() && !l.startsWith("#")) + .count(); + } + } } diff --git a/tika-eval/tika-eval-core/src/test/java/org/apache/tika/eval/core/tokens/tools/CommonTokensBloomGenerator.java b/tika-eval/tika-eval-core/src/test/java/org/apache/tika/eval/core/tokens/tools/CommonTokensBloomGenerator.java new file mode 100644 index 00000000000..c8c21760cdd --- /dev/null +++ b/tika-eval/tika-eval-core/src/test/java/org/apache/tika/eval/core/tokens/tools/CommonTokensBloomGenerator.java @@ -0,0 +1,111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.tika.eval.core.tokens.tools; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.OutputStream; +import java.nio.charset.StandardCharsets; +import java.nio.file.DirectoryStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + +import org.apache.commons.collections4.bloomfilter.SimpleBloomFilter; +import org.junit.jupiter.api.Assumptions; +import org.junit.jupiter.api.Test; + +import org.apache.tika.eval.core.tokens.CommonTokensBloom; + +/** + * Regenerates the shipped per-language common-token Bloom filters from the raw + * {@code tokendfcf} source lists. + *

+ * This is a developer tool, not a unit test: it is skipped unless + * {@code -DgenerateCommonTokensBloom=true} is passed. To regenerate: + *

+ *   ./mvnw -pl tika-eval/tika-eval-core test \
+ *       -Dtest=CommonTokensBloomGenerator -DgenerateCommonTokensBloom=true
+ * 
+ * Inputs/outputs default to the module's source tree and can be overridden with + * {@code -DcommonTokensSrc=...} and {@code -DcommonTokensBloomOut=...}. + */ +public class CommonTokensBloomGenerator { + + private static final String SRC_DEFAULT = "src/test/resources/common_tokens"; + private static final String OUT_DEFAULT = "src/main/resources/common_tokens_bloom"; + + @Test + public void generate() throws Exception { + Assumptions.assumeTrue(Boolean.getBoolean("generateCommonTokensBloom"), + "set -DgenerateCommonTokensBloom=true to (re)generate the common-token Bloom filters"); + + Path srcDir = Paths.get(System.getProperty("commonTokensSrc", SRC_DEFAULT)); + Path outDir = Paths.get(System.getProperty("commonTokensBloomOut", OUT_DEFAULT)); + Files.createDirectories(outDir); + + long totalIn = 0; + long totalOut = 0; + int langs = 0; + try (DirectoryStream ds = Files.newDirectoryStream(srcDir)) { + for (Path in : ds) { + if (!Files.isRegularFile(in)) { + continue; + } + Path out = outDir.resolve(in.getFileName().toString()); + List tokens = readTokens(in); + writeFilter(tokens, out); + langs++; + totalIn += Files.size(in); + totalOut += Files.size(out); + } + } + System.out.printf(Locale.ROOT, "Generated %d Bloom filters at fpp=%s: %.1f MB -> %.1f MB%n", + langs, CommonTokensBloom.DEFAULT_FPP, totalIn / 1048576.0, totalOut / 1048576.0); + } + + private static List readTokens(Path in) throws IOException { + List tokens = new ArrayList<>(); + try (BufferedReader reader = Files.newBufferedReader(in, StandardCharsets.UTF_8)) { + String line; + while ((line = reader.readLine()) != null) { + line = line.trim(); + if (line.isEmpty() || line.startsWith("#")) { + continue; + } + String token = line.split("\t", 2)[0].trim(); + if (!token.isEmpty()) { + tokens.add(token); + } + } + } + return tokens; + } + + private static void writeFilter(List tokens, Path out) throws IOException { + SimpleBloomFilter filter = new SimpleBloomFilter(CommonTokensBloom.shapeFor(tokens.size())); + for (String token : tokens) { + filter.merge(CommonTokensBloom.hasher(token)); + } + try (OutputStream os = Files.newOutputStream(out)) { + CommonTokensBloom.write(os, filter); + } + } +} diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ace b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ace similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ace rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ace diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/afr b/tika-eval/tika-eval-core/src/test/resources/common_tokens/afr similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/afr rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/afr diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/aka b/tika-eval/tika-eval-core/src/test/resources/common_tokens/aka similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/aka rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/aka diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/alt b/tika-eval/tika-eval-core/src/test/resources/common_tokens/alt similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/alt rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/alt diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/amh b/tika-eval/tika-eval-core/src/test/resources/common_tokens/amh similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/amh rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/amh diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ami b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ami similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ami rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ami diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ara b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ara similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ara rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ara diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/arg b/tika-eval/tika-eval-core/src/test/resources/common_tokens/arg similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/arg rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/arg diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/asm b/tika-eval/tika-eval-core/src/test/resources/common_tokens/asm similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/asm rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/asm diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ava b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ava similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ava rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ava diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/avk b/tika-eval/tika-eval-core/src/test/resources/common_tokens/avk similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/avk rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/avk diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/azb b/tika-eval/tika-eval-core/src/test/resources/common_tokens/azb similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/azb rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/azb diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/aze b/tika-eval/tika-eval-core/src/test/resources/common_tokens/aze similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/aze rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/aze diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/bak b/tika-eval/tika-eval-core/src/test/resources/common_tokens/bak similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/bak rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/bak diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ban b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ban similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ban rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ban diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/bar b/tika-eval/tika-eval-core/src/test/resources/common_tokens/bar similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/bar rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/bar diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/bcl b/tika-eval/tika-eval-core/src/test/resources/common_tokens/bcl similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/bcl rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/bcl diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/be-x-old b/tika-eval/tika-eval-core/src/test/resources/common_tokens/be-x-old similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/be-x-old rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/be-x-old diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/bel b/tika-eval/tika-eval-core/src/test/resources/common_tokens/bel similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/bel rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/bel diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ben b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ben similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ben rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ben diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/bjn b/tika-eval/tika-eval-core/src/test/resources/common_tokens/bjn similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/bjn rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/bjn diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/bod b/tika-eval/tika-eval-core/src/test/resources/common_tokens/bod similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/bod rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/bod diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/bre b/tika-eval/tika-eval-core/src/test/resources/common_tokens/bre similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/bre rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/bre diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/bul b/tika-eval/tika-eval-core/src/test/resources/common_tokens/bul similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/bul rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/bul diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/bxr b/tika-eval/tika-eval-core/src/test/resources/common_tokens/bxr similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/bxr rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/bxr diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/cat b/tika-eval/tika-eval-core/src/test/resources/common_tokens/cat similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/cat rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/cat diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/cdo-x-rom b/tika-eval/tika-eval-core/src/test/resources/common_tokens/cdo-x-rom similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/cdo-x-rom rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/cdo-x-rom diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ceb b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ceb similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ceb rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ceb diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ces b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ces similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ces rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ces diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/che b/tika-eval/tika-eval-core/src/test/resources/common_tokens/che similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/che rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/che diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/chv b/tika-eval/tika-eval-core/src/test/resources/common_tokens/chv similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/chv rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/chv diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ckb b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ckb similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ckb rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ckb diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/cnh b/tika-eval/tika-eval-core/src/test/resources/common_tokens/cnh similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/cnh rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/cnh diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/cor b/tika-eval/tika-eval-core/src/test/resources/common_tokens/cor similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/cor rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/cor diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/cos b/tika-eval/tika-eval-core/src/test/resources/common_tokens/cos similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/cos rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/cos diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/csb b/tika-eval/tika-eval-core/src/test/resources/common_tokens/csb similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/csb rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/csb diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/cym b/tika-eval/tika-eval-core/src/test/resources/common_tokens/cym similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/cym rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/cym diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/dag b/tika-eval/tika-eval-core/src/test/resources/common_tokens/dag similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/dag rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/dag diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/dan b/tika-eval/tika-eval-core/src/test/resources/common_tokens/dan similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/dan rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/dan diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/deu b/tika-eval/tika-eval-core/src/test/resources/common_tokens/deu similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/deu rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/deu diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/diq b/tika-eval/tika-eval-core/src/test/resources/common_tokens/diq similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/diq rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/diq diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/div b/tika-eval/tika-eval-core/src/test/resources/common_tokens/div similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/div rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/div diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/dsb b/tika-eval/tika-eval-core/src/test/resources/common_tokens/dsb similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/dsb rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/dsb diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ell b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ell similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ell rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ell diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/eng b/tika-eval/tika-eval-core/src/test/resources/common_tokens/eng similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/eng rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/eng diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/epo b/tika-eval/tika-eval-core/src/test/resources/common_tokens/epo similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/epo rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/epo diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/est b/tika-eval/tika-eval-core/src/test/resources/common_tokens/est similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/est rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/est diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/eus b/tika-eval/tika-eval-core/src/test/resources/common_tokens/eus similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/eus rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/eus diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ewe b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ewe similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ewe rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ewe diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ext b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ext similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ext rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ext diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/fao b/tika-eval/tika-eval-core/src/test/resources/common_tokens/fao similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/fao rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/fao diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/fas b/tika-eval/tika-eval-core/src/test/resources/common_tokens/fas similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/fas rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/fas diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/fin b/tika-eval/tika-eval-core/src/test/resources/common_tokens/fin similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/fin rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/fin diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/fra b/tika-eval/tika-eval-core/src/test/resources/common_tokens/fra similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/fra rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/fra diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/frr b/tika-eval/tika-eval-core/src/test/resources/common_tokens/frr similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/frr rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/frr diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/fry b/tika-eval/tika-eval-core/src/test/resources/common_tokens/fry similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/fry rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/fry diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/gla b/tika-eval/tika-eval-core/src/test/resources/common_tokens/gla similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/gla rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/gla diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/gle b/tika-eval/tika-eval-core/src/test/resources/common_tokens/gle similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/gle rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/gle diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/glg b/tika-eval/tika-eval-core/src/test/resources/common_tokens/glg similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/glg rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/glg diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/glv b/tika-eval/tika-eval-core/src/test/resources/common_tokens/glv similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/glv rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/glv diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/gom b/tika-eval/tika-eval-core/src/test/resources/common_tokens/gom similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/gom rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/gom diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/grn b/tika-eval/tika-eval-core/src/test/resources/common_tokens/grn similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/grn rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/grn diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/gsw b/tika-eval/tika-eval-core/src/test/resources/common_tokens/gsw similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/gsw rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/gsw diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/guj b/tika-eval/tika-eval-core/src/test/resources/common_tokens/guj similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/guj rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/guj diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/hak-x-rom b/tika-eval/tika-eval-core/src/test/resources/common_tokens/hak-x-rom similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/hak-x-rom rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/hak-x-rom diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/hau b/tika-eval/tika-eval-core/src/test/resources/common_tokens/hau similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/hau rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/hau diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/heb b/tika-eval/tika-eval-core/src/test/resources/common_tokens/heb similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/heb rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/heb diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/hil b/tika-eval/tika-eval-core/src/test/resources/common_tokens/hil similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/hil rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/hil diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/hin b/tika-eval/tika-eval-core/src/test/resources/common_tokens/hin similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/hin rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/hin diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/hrv b/tika-eval/tika-eval-core/src/test/resources/common_tokens/hrv similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/hrv rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/hrv diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/hsb b/tika-eval/tika-eval-core/src/test/resources/common_tokens/hsb similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/hsb rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/hsb diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/hun b/tika-eval/tika-eval-core/src/test/resources/common_tokens/hun similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/hun rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/hun diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/hye b/tika-eval/tika-eval-core/src/test/resources/common_tokens/hye similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/hye rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/hye diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/hyw b/tika-eval/tika-eval-core/src/test/resources/common_tokens/hyw similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/hyw rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/hyw diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ibo b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ibo similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ibo rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ibo diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ido b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ido similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ido rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ido diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ile b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ile similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ile rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ile diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ilo b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ilo similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ilo rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ilo diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ina b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ina similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ina rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ina diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ind b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ind similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ind rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ind diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/isl b/tika-eval/tika-eval-core/src/test/resources/common_tokens/isl similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/isl rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/isl diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ita b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ita similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ita rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ita diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/jav b/tika-eval/tika-eval-core/src/test/resources/common_tokens/jav similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/jav rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/jav diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/jbo b/tika-eval/tika-eval-core/src/test/resources/common_tokens/jbo similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/jbo rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/jbo diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/jpn b/tika-eval/tika-eval-core/src/test/resources/common_tokens/jpn similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/jpn rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/jpn diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/kaa b/tika-eval/tika-eval-core/src/test/resources/common_tokens/kaa similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/kaa rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/kaa diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/kab b/tika-eval/tika-eval-core/src/test/resources/common_tokens/kab similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/kab rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/kab diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/kan b/tika-eval/tika-eval-core/src/test/resources/common_tokens/kan similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/kan rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/kan diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/kat b/tika-eval/tika-eval-core/src/test/resources/common_tokens/kat similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/kat rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/kat diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/kaz b/tika-eval/tika-eval-core/src/test/resources/common_tokens/kaz similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/kaz rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/kaz diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/kha b/tika-eval/tika-eval-core/src/test/resources/common_tokens/kha similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/kha rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/kha diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/khm b/tika-eval/tika-eval-core/src/test/resources/common_tokens/khm similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/khm rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/khm diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/kin b/tika-eval/tika-eval-core/src/test/resources/common_tokens/kin similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/kin rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/kin diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/kir b/tika-eval/tika-eval-core/src/test/resources/common_tokens/kir similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/kir rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/kir diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/kor b/tika-eval/tika-eval-core/src/test/resources/common_tokens/kor similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/kor rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/kor diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/kpv b/tika-eval/tika-eval-core/src/test/resources/common_tokens/kpv similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/kpv rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/kpv diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ksh b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ksh similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ksh rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ksh diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/kur b/tika-eval/tika-eval-core/src/test/resources/common_tokens/kur similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/kur rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/kur diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/lao b/tika-eval/tika-eval-core/src/test/resources/common_tokens/lao similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/lao rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/lao diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/lat b/tika-eval/tika-eval-core/src/test/resources/common_tokens/lat similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/lat rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/lat diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/lav b/tika-eval/tika-eval-core/src/test/resources/common_tokens/lav similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/lav rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/lav diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/lez b/tika-eval/tika-eval-core/src/test/resources/common_tokens/lez similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/lez rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/lez diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/lfn b/tika-eval/tika-eval-core/src/test/resources/common_tokens/lfn similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/lfn rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/lfn diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/lim b/tika-eval/tika-eval-core/src/test/resources/common_tokens/lim similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/lim rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/lim diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/lit b/tika-eval/tika-eval-core/src/test/resources/common_tokens/lit similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/lit rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/lit diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ltz b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ltz similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ltz rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ltz diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/lug b/tika-eval/tika-eval-core/src/test/resources/common_tokens/lug similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/lug rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/lug diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/lus b/tika-eval/tika-eval-core/src/test/resources/common_tokens/lus similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/lus rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/lus diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/mal b/tika-eval/tika-eval-core/src/test/resources/common_tokens/mal similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/mal rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/mal diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/mar b/tika-eval/tika-eval-core/src/test/resources/common_tokens/mar similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/mar rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/mar diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/mhr b/tika-eval/tika-eval-core/src/test/resources/common_tokens/mhr similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/mhr rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/mhr diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/min b/tika-eval/tika-eval-core/src/test/resources/common_tokens/min similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/min rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/min diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/mkd b/tika-eval/tika-eval-core/src/test/resources/common_tokens/mkd similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/mkd rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/mkd diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/mlg b/tika-eval/tika-eval-core/src/test/resources/common_tokens/mlg similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/mlg rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/mlg diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/mlt b/tika-eval/tika-eval-core/src/test/resources/common_tokens/mlt similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/mlt rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/mlt diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/mon b/tika-eval/tika-eval-core/src/test/resources/common_tokens/mon similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/mon rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/mon diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/mrj b/tika-eval/tika-eval-core/src/test/resources/common_tokens/mrj similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/mrj rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/mrj diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/msa b/tika-eval/tika-eval-core/src/test/resources/common_tokens/msa similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/msa rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/msa diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/mwl b/tika-eval/tika-eval-core/src/test/resources/common_tokens/mwl similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/mwl rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/mwl diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/mya b/tika-eval/tika-eval-core/src/test/resources/common_tokens/mya similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/mya rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/mya diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/myv b/tika-eval/tika-eval-core/src/test/resources/common_tokens/myv similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/myv rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/myv diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/mzn b/tika-eval/tika-eval-core/src/test/resources/common_tokens/mzn similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/mzn rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/mzn diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/nds b/tika-eval/tika-eval-core/src/test/resources/common_tokens/nds similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/nds rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/nds diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/nep b/tika-eval/tika-eval-core/src/test/resources/common_tokens/nep similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/nep rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/nep diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/nld b/tika-eval/tika-eval-core/src/test/resources/common_tokens/nld similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/nld rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/nld diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/nno b/tika-eval/tika-eval-core/src/test/resources/common_tokens/nno similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/nno rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/nno diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/nob b/tika-eval/tika-eval-core/src/test/resources/common_tokens/nob similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/nob rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/nob diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/nqo b/tika-eval/tika-eval-core/src/test/resources/common_tokens/nqo similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/nqo rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/nqo diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/nso b/tika-eval/tika-eval-core/src/test/resources/common_tokens/nso similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/nso rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/nso diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/nya b/tika-eval/tika-eval-core/src/test/resources/common_tokens/nya similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/nya rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/nya diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/olo b/tika-eval/tika-eval-core/src/test/resources/common_tokens/olo similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/olo rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/olo diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ori b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ori similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ori rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ori diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/orm b/tika-eval/tika-eval-core/src/test/resources/common_tokens/orm similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/orm rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/orm diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/oss b/tika-eval/tika-eval-core/src/test/resources/common_tokens/oss similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/oss rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/oss diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/pam b/tika-eval/tika-eval-core/src/test/resources/common_tokens/pam similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/pam rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/pam diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/pan b/tika-eval/tika-eval-core/src/test/resources/common_tokens/pan similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/pan rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/pan diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/pap b/tika-eval/tika-eval-core/src/test/resources/common_tokens/pap similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/pap rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/pap diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/pfl b/tika-eval/tika-eval-core/src/test/resources/common_tokens/pfl similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/pfl rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/pfl diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/pnb b/tika-eval/tika-eval-core/src/test/resources/common_tokens/pnb similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/pnb rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/pnb diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/pol b/tika-eval/tika-eval-core/src/test/resources/common_tokens/pol similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/pol rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/pol diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/por b/tika-eval/tika-eval-core/src/test/resources/common_tokens/por similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/por rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/por diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/pus b/tika-eval/tika-eval-core/src/test/resources/common_tokens/pus similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/pus rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/pus diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/roh b/tika-eval/tika-eval-core/src/test/resources/common_tokens/roh similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/roh rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/roh diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ron b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ron similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ron rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ron diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/rue b/tika-eval/tika-eval-core/src/test/resources/common_tokens/rue similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/rue rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/rue diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/rus b/tika-eval/tika-eval-core/src/test/resources/common_tokens/rus similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/rus rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/rus diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/sah b/tika-eval/tika-eval-core/src/test/resources/common_tokens/sah similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/sah rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/sah diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/san b/tika-eval/tika-eval-core/src/test/resources/common_tokens/san similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/san rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/san diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/sat b/tika-eval/tika-eval-core/src/test/resources/common_tokens/sat similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/sat rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/sat diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/sgs b/tika-eval/tika-eval-core/src/test/resources/common_tokens/sgs similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/sgs rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/sgs diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/sin b/tika-eval/tika-eval-core/src/test/resources/common_tokens/sin similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/sin rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/sin diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/skr b/tika-eval/tika-eval-core/src/test/resources/common_tokens/skr similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/skr rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/skr diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/slk b/tika-eval/tika-eval-core/src/test/resources/common_tokens/slk similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/slk rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/slk diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/slv b/tika-eval/tika-eval-core/src/test/resources/common_tokens/slv similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/slv rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/slv diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/sme b/tika-eval/tika-eval-core/src/test/resources/common_tokens/sme similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/sme rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/sme diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/smn b/tika-eval/tika-eval-core/src/test/resources/common_tokens/smn similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/smn rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/smn diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/smo b/tika-eval/tika-eval-core/src/test/resources/common_tokens/smo similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/smo rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/smo diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/sna b/tika-eval/tika-eval-core/src/test/resources/common_tokens/sna similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/sna rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/sna diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/snd b/tika-eval/tika-eval-core/src/test/resources/common_tokens/snd similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/snd rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/snd diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/som b/tika-eval/tika-eval-core/src/test/resources/common_tokens/som similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/som rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/som diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/spa b/tika-eval/tika-eval-core/src/test/resources/common_tokens/spa similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/spa rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/spa diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/sqi b/tika-eval/tika-eval-core/src/test/resources/common_tokens/sqi similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/sqi rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/sqi diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/srp b/tika-eval/tika-eval-core/src/test/resources/common_tokens/srp similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/srp rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/srp diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/stq b/tika-eval/tika-eval-core/src/test/resources/common_tokens/stq similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/stq rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/stq diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/sun b/tika-eval/tika-eval-core/src/test/resources/common_tokens/sun similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/sun rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/sun diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/swe b/tika-eval/tika-eval-core/src/test/resources/common_tokens/swe similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/swe rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/swe diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/swh b/tika-eval/tika-eval-core/src/test/resources/common_tokens/swh similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/swh rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/swh diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/szl b/tika-eval/tika-eval-core/src/test/resources/common_tokens/szl similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/szl rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/szl diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/szy b/tika-eval/tika-eval-core/src/test/resources/common_tokens/szy similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/szy rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/szy diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/tam b/tika-eval/tika-eval-core/src/test/resources/common_tokens/tam similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/tam rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/tam diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/tat b/tika-eval/tika-eval-core/src/test/resources/common_tokens/tat similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/tat rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/tat diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/tay b/tika-eval/tika-eval-core/src/test/resources/common_tokens/tay similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/tay rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/tay diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/tel b/tika-eval/tika-eval-core/src/test/resources/common_tokens/tel similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/tel rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/tel diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/tet b/tika-eval/tika-eval-core/src/test/resources/common_tokens/tet similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/tet rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/tet diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/tgk b/tika-eval/tika-eval-core/src/test/resources/common_tokens/tgk similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/tgk rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/tgk diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/tgl b/tika-eval/tika-eval-core/src/test/resources/common_tokens/tgl similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/tgl rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/tgl diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/tha b/tika-eval/tika-eval-core/src/test/resources/common_tokens/tha similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/tha rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/tha diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/tir b/tika-eval/tika-eval-core/src/test/resources/common_tokens/tir similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/tir rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/tir diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/trv b/tika-eval/tika-eval-core/src/test/resources/common_tokens/trv similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/trv rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/trv diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/tsn b/tika-eval/tika-eval-core/src/test/resources/common_tokens/tsn similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/tsn rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/tsn diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/tso b/tika-eval/tika-eval-core/src/test/resources/common_tokens/tso similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/tso rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/tso diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/tuk b/tika-eval/tika-eval-core/src/test/resources/common_tokens/tuk similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/tuk rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/tuk diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/tum b/tika-eval/tika-eval-core/src/test/resources/common_tokens/tum similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/tum rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/tum diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/tur b/tika-eval/tika-eval-core/src/test/resources/common_tokens/tur similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/tur rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/tur diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/tyv b/tika-eval/tika-eval-core/src/test/resources/common_tokens/tyv similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/tyv rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/tyv diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/udm b/tika-eval/tika-eval-core/src/test/resources/common_tokens/udm similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/udm rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/udm diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/uig b/tika-eval/tika-eval-core/src/test/resources/common_tokens/uig similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/uig rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/uig diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ukr b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ukr similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ukr rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ukr diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/urd b/tika-eval/tika-eval-core/src/test/resources/common_tokens/urd similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/urd rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/urd diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/uzb b/tika-eval/tika-eval-core/src/test/resources/common_tokens/uzb similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/uzb rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/uzb diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/vep b/tika-eval/tika-eval-core/src/test/resources/common_tokens/vep similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/vep rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/vep diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/vie b/tika-eval/tika-eval-core/src/test/resources/common_tokens/vie similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/vie rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/vie diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/vls b/tika-eval/tika-eval-core/src/test/resources/common_tokens/vls similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/vls rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/vls diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/vol b/tika-eval/tika-eval-core/src/test/resources/common_tokens/vol similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/vol rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/vol diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/vro b/tika-eval/tika-eval-core/src/test/resources/common_tokens/vro similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/vro rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/vro diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/war b/tika-eval/tika-eval-core/src/test/resources/common_tokens/war similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/war rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/war diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/wln b/tika-eval/tika-eval-core/src/test/resources/common_tokens/wln similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/wln rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/wln diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/xho b/tika-eval/tika-eval-core/src/test/resources/common_tokens/xho similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/xho rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/xho diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/xmf b/tika-eval/tika-eval-core/src/test/resources/common_tokens/xmf similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/xmf rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/xmf diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/ydd b/tika-eval/tika-eval-core/src/test/resources/common_tokens/ydd similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/ydd rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/ydd diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/yor b/tika-eval/tika-eval-core/src/test/resources/common_tokens/yor similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/yor rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/yor diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/yue b/tika-eval/tika-eval-core/src/test/resources/common_tokens/yue similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/yue rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/yue diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/zho b/tika-eval/tika-eval-core/src/test/resources/common_tokens/zho similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/zho rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/zho diff --git a/tika-eval/tika-eval-core/src/main/resources/common_tokens/zul b/tika-eval/tika-eval-core/src/test/resources/common_tokens/zul similarity index 100% rename from tika-eval/tika-eval-core/src/main/resources/common_tokens/zul rename to tika-eval/tika-eval-core/src/test/resources/common_tokens/zul