JingsongLi commented on code in PR #8000:
URL: https://github.com/apache/paimon/pull/8000#discussion_r3534342002
##########
paimon-core/src/main/java/org/apache/paimon/table/source/FullTextScanImpl.java:
##########
@@ -93,7 +94,7 @@ public Plan scan() {
if (globalIndex == null) {
return false;
}
- return textColumnIds.contains(globalIndex.indexFieldId())
+ return !matchedTextColumnIds(globalIndex,
textColumnIds).isEmpty()
&&
supportsFullTextSearch(entry.indexFile().indexType());
Review Comment:
Blocking: this still treats every `es-index` file as full-text coverage at
the index-type level. The default STRING change fixes the implicit case, but a
user can still explicitly configure
`global-index.es-index.fields.title.type=keyword`. In that valid layout,
`FullTextScanImpl` includes the ES file because `supportsFullTextSearch()` is
true and the title field is covered by `indexFieldId`/`extraFieldIds`;
`GlobalIndexCoverage` then marks that row range as indexed, so no
`RawFullTextSearchSplit` is emitted. At read time `ESIndexGlobalIndexReader`
no-matches the KEYWORD field for full-text search, so matching rows in that
range are silently skipped. Please make the coverage decision
field-capability-aware, or exclude explicit keyword fields from full-text
coverage, and add a regression for an `es-index` range where the searched text
column is configured as `type=keyword`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]