Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 15 additions & 14 deletions src/main/java/org/codelibs/fess/suggest/Suggester.java
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,8 @@ public boolean createIndexIfNothing() {
final String settingsSource = getDefaultIndexSettings();
final String indexName = createIndexName(index);
if (logger.isInfoEnabled()) {
logger.info("Creating suggest index: index={}, searchAlias={}, updateAlias={}", indexName, getSearchAlias(index), getUpdateAlias(index));
logger.info("Creating suggest index: index={}, searchAlias={}, updateAlias={}", indexName, getSearchAlias(index),
getUpdateAlias(index));
}

client.admin()
Expand Down Expand Up @@ -239,7 +240,8 @@ public void createNextIndex() {
final String settingsSource = getDefaultIndexSettings();
final String indexName = createIndexName(index);
if (logger.isInfoEnabled()) {
logger.info("Creating next index: index={}, updateAlias={}, previousIndices={}", indexName, getUpdateAlias(index), prevIndices);
logger.info("Creating next index: index={}, updateAlias={}, previousIndices={}", indexName, getUpdateAlias(index),
prevIndices);
}

final CreateIndexResponse createIndexResponse = client.admin()
Expand Down Expand Up @@ -283,19 +285,23 @@ public void switchIndex() {
final List<String> updateIndices = getIndicesForAlias(updateAlias);
if (updateIndices.size() != EXPECTED_INDEX_COUNT) {
if (logger.isDebugEnabled()) {
logger.debug("Unexpected number of update indices: expected={}, actual={}, updateAlias={}, indices={}", EXPECTED_INDEX_COUNT, updateIndices.size(), updateAlias, updateIndices);
logger.debug("Unexpected number of update indices: expected={}, actual={}, updateAlias={}, indices={}",
EXPECTED_INDEX_COUNT, updateIndices.size(), updateAlias, updateIndices);
}
throw new SuggesterException("Unexpected number of update indices: expected=" + EXPECTED_INDEX_COUNT + ", actual=" + updateIndices.size());
throw new SuggesterException(
"Unexpected number of update indices: expected=" + EXPECTED_INDEX_COUNT + ", actual=" + updateIndices.size());
}
final String updateIndex = updateIndices.get(0);

final String searchAlias = getSearchAlias(index);
final List<String> searchIndices = getIndicesForAlias(searchAlias);
if (searchIndices.size() != EXPECTED_INDEX_COUNT) {
if (logger.isDebugEnabled()) {
logger.debug("Unexpected number of search indices: expected={}, actual={}, searchAlias={}, indices={}", EXPECTED_INDEX_COUNT, searchIndices.size(), searchAlias, searchIndices);
logger.debug("Unexpected number of search indices: expected={}, actual={}, searchAlias={}, indices={}",
EXPECTED_INDEX_COUNT, searchIndices.size(), searchAlias, searchIndices);
}
throw new SuggesterException("Unexpected number of search indices: expected=" + EXPECTED_INDEX_COUNT + ", actual=" + searchIndices.size());
throw new SuggesterException(
"Unexpected number of search indices: expected=" + EXPECTED_INDEX_COUNT + ", actual=" + searchIndices.size());
}
final String searchIndex = searchIndices.get(0);

Expand Down Expand Up @@ -459,8 +465,7 @@ private String createIndexName(final String index) {
}

private String getDefaultMappings() throws IOException {
try (final InputStream is = this.getClass().getClassLoader()
.getResourceAsStream("suggest_indices/suggest/mappings-default.json")) {
try (final InputStream is = this.getClass().getClassLoader().getResourceAsStream("suggest_indices/suggest/mappings-default.json")) {
if (is == null) {
throw new IOException("Resource not found: suggest_indices/suggest/mappings-default.json");
}
Expand All @@ -469,8 +474,7 @@ private String getDefaultMappings() throws IOException {
}

private String getDefaultIndexSettings() throws IOException {
try (final InputStream is = this.getClass().getClassLoader()
.getResourceAsStream("suggest_indices/suggest.json")) {
try (final InputStream is = this.getClass().getClassLoader().getResourceAsStream("suggest_indices/suggest.json")) {
if (is == null) {
throw new IOException("Resource not found: suggest_indices/suggest.json");
}
Expand All @@ -496,10 +500,7 @@ private List<String> getIndicesForAlias(final String alias) {
client.admin().indices().prepareGetAliases(alias).execute().actionGet(suggestSettings.getIndicesTimeout());
getAliasesResponse.getAliases()
.entrySet()
.forEach(x -> x.getValue()
.stream()
.filter(y -> alias.equals(y.alias()))
.forEach(y -> indices.add(x.getKey())));
.forEach(x -> x.getValue().stream().filter(y -> alias.equals(y.alias())).forEach(y -> indices.add(x.getKey())));
}
return indices;
}
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/codelibs/fess/suggest/SuggesterBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -170,8 +170,8 @@ public Suggester build(final Client client, final String id) {
try {
contentsReadingConverter.init();
} catch (final IOException e) {
throw new SuggesterException("Failed to initialize contents reading converter: " + contentsReadingConverter.getClass().getName(),
e);
throw new SuggesterException(
"Failed to initialize contents reading converter: " + contentsReadingConverter.getClass().getName(), e);
}

if (normalizer == null) {
Expand Down
21 changes: 9 additions & 12 deletions src/main/java/org/codelibs/fess/suggest/index/SuggestIndexer.java
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,8 @@ public SuggestIndexResponse index(final SuggestItem[] items) {
final SuggestItem[] array = Stream.of(items).filter(item -> !item.isBadWord(badWords)).toArray(SuggestItem[]::new);

if (logger.isDebugEnabled()) {
logger.debug("Indexing suggest items: index={}, totalItems={}, validItems={}, filteredByBadWords={}", index, items.length, array.length, items.length - array.length);
logger.debug("Indexing suggest items: index={}, totalItems={}, validItems={}, filteredByBadWords={}", index, items.length,
array.length, items.length - array.length);
}

try {
Expand Down Expand Up @@ -273,9 +274,8 @@ public SuggestDeleteResponse deleteDocumentWords() {
if (logger.isInfoEnabled()) {
logger.info("Deleting document words: index={}", index);
}
return deleteWordsByKind(FieldNames.DOC_FREQ, SuggestItem.Kind.DOCUMENT,
item -> item.setDocFreq(0),
SuggestItem.Kind.QUERY, SuggestItem.Kind.USER);
return deleteWordsByKind(FieldNames.DOC_FREQ, SuggestItem.Kind.DOCUMENT, item -> item.setDocFreq(0), SuggestItem.Kind.QUERY,
SuggestItem.Kind.USER);
}

/**
Expand All @@ -286,9 +286,8 @@ public SuggestDeleteResponse deleteQueryWords() {
if (logger.isInfoEnabled()) {
logger.info("Deleting query words: index={}", index);
}
return deleteWordsByKind(FieldNames.QUERY_FREQ, SuggestItem.Kind.QUERY,
item -> item.setQueryFreq(0),
SuggestItem.Kind.DOCUMENT, SuggestItem.Kind.USER);
return deleteWordsByKind(FieldNames.QUERY_FREQ, SuggestItem.Kind.QUERY, item -> item.setQueryFreq(0), SuggestItem.Kind.DOCUMENT,
SuggestItem.Kind.USER);
}

/**
Expand All @@ -304,8 +303,8 @@ private SuggestDeleteResponse deleteWordsByKind(final String freqField, final Su
final long start = System.currentTimeMillis();

// Build query to exclude certain kinds
final org.opensearch.index.query.BoolQueryBuilder boolQuery = QueryBuilders.boolQuery()
.must(QueryBuilders.rangeQuery(freqField).gte(1));
final org.opensearch.index.query.BoolQueryBuilder boolQuery =
QueryBuilders.boolQuery().must(QueryBuilders.rangeQuery(freqField).gte(1));
for (final SuggestItem.Kind kind : excludeKinds) {
boolQuery.mustNot(QueryBuilders.matchPhraseQuery(FieldNames.KINDS, kind.toString()));
}
Expand All @@ -332,9 +331,7 @@ private SuggestDeleteResponse deleteWordsByKind(final String freqField, final Su
for (final SearchHit hit : hits) {
final SuggestItem item = SuggestItem.parseSource(hit.getSourceAsMap());
freqSetter.accept(item);
item.setKinds(Stream.of(item.getKinds())
.filter(kind -> kind != kindToRemove)
.toArray(SuggestItem.Kind[]::new));
item.setKinds(Stream.of(item.getKinds()).filter(kind -> kind != kindToRemove).toArray(SuggestItem.Kind[]::new));
updateItems.add(item);
}
final SuggestWriterResult result =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,8 @@ public SuggestItem parseSearchWords(final String[] words, final String[][] readi
if (wordsList.isEmpty()) {
return null;
}
return new SuggestItem(wordsList.toArray(String[]::new), readingList.toArray(String[][]::new),
fields, 0, score, -1, tags, roles, langs, SuggestItem.Kind.QUERY);
return new SuggestItem(wordsList.toArray(String[]::new), readingList.toArray(String[][]::new), fields, 0, score, -1, tags,
roles, langs, SuggestItem.Kind.QUERY);
} catch (final IOException e) {
throw new SuggesterException("Failed to create SuggestItem from search words.", e);
}
Expand Down Expand Up @@ -256,8 +256,8 @@ protected List<AnalyzeToken> analyzeTextByReading(final SuggestAnalyzer analyzer
* @param useReading Whether to use reading analysis
* @return List of tokens
*/
private List<AnalyzeToken> analyzeTextInternal(final SuggestAnalyzer analyzer, final String field, final String text,
final String lang, final boolean useReading) {
private List<AnalyzeToken> analyzeTextInternal(final SuggestAnalyzer analyzer, final String field, final String text, final String lang,
final boolean useReading) {
final List<AnalyzeToken> tokens = new ArrayList<>();
final StringBuilder buf = new StringBuilder(maxAnalyzedContentLength);
final String analyzeType = useReading ? "reading " : "";
Expand Down Expand Up @@ -289,8 +289,7 @@ private List<AnalyzeToken> analyzeTextInternal(final SuggestAnalyzer analyzer, f
private void processBuffer(final SuggestAnalyzer analyzer, final String field, final String lang, final boolean useReading,
final List<AnalyzeToken> tokens, final StringBuilder buf, final String analyzeType, final boolean isLast) {
try {
final List<AnalyzeToken> result = useReading
? analyzer.analyzeAndReading(buf.toString().trim(), field, lang)
final List<AnalyzeToken> result = useReading ? analyzer.analyzeAndReading(buf.toString().trim(), field, lang)
: analyzer.analyze(buf.toString().trim(), field, lang);
if (result != null) {
tokens.addAll(result);
Expand All @@ -299,9 +298,11 @@ private void processBuffer(final SuggestAnalyzer analyzer, final String field, f
final String lastPrefix = isLast ? "last " : "";
final String typeDesc = useReading ? "reading " : "";
if (logger.isDebugEnabled()) {
logger.warn("Failed to analyze {}{}text: field={}, lang={}, textSize={}", lastPrefix, typeDesc, field, lang, buf.length(), e);
logger.warn("Failed to analyze {}{}text: field={}, lang={}, textSize={}", lastPrefix, typeDesc, field, lang, buf.length(),
e);
} else {
logger.warn("Failed to analyze {}{}text: field={}, lang={}, textSize={}, error={}", lastPrefix, typeDesc, field, lang, buf.length(), e.getMessage());
logger.warn("Failed to analyze {}{}text: field={}, lang={}, textSize={}, error={}", lastPrefix, typeDesc, field, lang,
buf.length(), e.getMessage());
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,8 @@ public void setLimitDocNumPercentage(final String limitPercentage) {
}

if (logger.isInfoEnabled()) {
logger.info("Setting document limit percentage: index={}, requestedPercentage={}, actualPercentage={}%", indexName, limitPercentage, this.limitPercentage);
logger.info("Setting document limit percentage: index={}, requestedPercentage={}, actualPercentage={}%", indexName,
limitPercentage, this.limitPercentage);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,8 @@ public String[] get(final String key) {
*/
public void add(final String key, final Object value) {
if (logger.isDebugEnabled()) {
logger.debug("Adding array settings: index={}, settingsId={}, key={}, value={}", arraySettingsIndexName, settingsId, key, value);
logger.debug("Adding array settings: index={}, settingsId={}, key={}, value={}", arraySettingsIndexName, settingsId, key,
value);
}

final Map<String, Object> source = new HashMap<>();
Expand All @@ -167,7 +168,8 @@ public void delete(final String key) {
*/
public void delete(final String key, final String value) {
if (logger.isDebugEnabled()) {
logger.debug("Deleting array settings: index={}, settingsId={}, key={}, value={}", arraySettingsIndexName, settingsId, key, value);
logger.debug("Deleting array settings: index={}, settingsId={}, key={}, value={}", arraySettingsIndexName, settingsId, key,
value);
}
deleteFromArray(arraySettingsIndexName, settingsId, createId(key, value));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,8 @@ public ElevateWord[] get() {
*/
public void add(final ElevateWord elevateWord) {
if (logger.isDebugEnabled()) {
logger.debug("Adding elevate word: index={}, word={}, boost={}", arraySettings.arraySettingsIndexName, elevateWord.getElevateWord(), elevateWord.getBoost());
logger.debug("Adding elevate word: index={}, word={}, boost={}", arraySettings.arraySettingsIndexName,
elevateWord.getElevateWord(), elevateWord.getBoost());
}

final Map<String, Object> source = new HashMap<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -429,7 +429,8 @@ public void set(final String key, final Object value) {
*/
public void set(final Map<String, Object> map) {
if (logger.isDebugEnabled()) {
logger.debug("Setting suggest settings (bulk): index={}, settingsId={}, settings={}", settingsIndexName, settingsId, map.toString());
logger.debug("Setting suggest settings (bulk): index={}, settingsId={}, settings={}", settingsIndexName, settingsId,
map.toString());
}
try {
final XContentBuilder builder = JsonXContent.contentBuilder().map(map);
Expand Down
Loading