From add4cd68cbacbab9a3292950c1494f9b8c671a9e Mon Sep 17 00:00:00 2001 From: Claude Brisson Date: Sun, 14 Apr 2024 15:23:17 +0200 Subject: [PATCH] Better handling of underscores in player index --- .../main/kotlin/org/jeudego/pairgoth/ratings/PlayerIndex.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/view-webapp/src/main/kotlin/org/jeudego/pairgoth/ratings/PlayerIndex.kt b/view-webapp/src/main/kotlin/org/jeudego/pairgoth/ratings/PlayerIndex.kt index 5e1b6ba..65c991f 100644 --- a/view-webapp/src/main/kotlin/org/jeudego/pairgoth/ratings/PlayerIndex.kt +++ b/view-webapp/src/main/kotlin/org/jeudego/pairgoth/ratings/PlayerIndex.kt @@ -36,6 +36,7 @@ class PlayerIndex { val MAX_HITS = 20 val logger = LoggerFactory.getLogger("index") val queryParser = ComplexPhraseQueryParser(TEXT, StandardAnalyzer()) + val stopChars = Regex("[_-]") } private final val directory: Directory = ByteBuffersDirectory(NoLockFactory.INSTANCE) private val reader by lazy { DirectoryReader.open(directory) } @@ -59,7 +60,7 @@ class PlayerIndex { doc.add(StoredField(ID, i)); doc.add(StringField(ORIGIN, player.field(ORIGIN).lowercase(Locale.ROOT), Field.Store.NO)) doc.add(StringField(COUNTRY, player.field(COUNTRY).lowercase(Locale.ROOT), Field.Store.NO)) - doc.add(TextField(TEXT, "${player.field(NAME)} ${player.nullableField(FIRSTNAME)}", Field.Store.NO)) + doc.add(TextField(TEXT, "${player.field(NAME).replace(stopChars, " ")} ${player.nullableField(FIRSTNAME)}", Field.Store.NO)) player.getString(PIN)?.let { doc.add(StringField(PIN, it, Field.Store.NO)) } @@ -98,7 +99,6 @@ class PlayerIndex { .add(filter, BooleanClause.Occur.FILTER) .build() } - 2 -> { if (activeMask.countOneBits() > 2) { val filter =