This is an automated email from the ASF dual-hosted git repository.

JingsongLi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/paimon.git


The following commit(s) were added to refs/heads/master by this push:
     new d7b1bf9bea [core] Rename FM index identifier to fm (#9487)
d7b1bf9bea is described below

commit d7b1bf9bea01f7926c9cc6ae9188a1e0139a153d
Author: Jingsong Lee <[email protected]>
AuthorDate: Mon Aug 31 13:58:32 2026 +0800

    [core] Rename FM index identifier to fm (#9487)
---
 docs/docs/flink/procedures.md                                     | 4 ++--
 docs/docs/multimodal-table/global-index/fm.mdx                    | 4 ++--
 docs/docs/spark/procedures.md                                     | 4 ++--
 .../apache/paimon/globalindex/fmindex/FMGlobalIndexWriter.java    | 2 +-
 .../apache/paimon/globalindex/fmindex/FMGlobalIndexerFactory.java | 2 +-
 .../org/apache/paimon/globalindex/fmindex/FMGlobalIndexTest.java  | 2 +-
 .../apache/paimon/index/pk/PrimaryKeyIndexDefinitionsTest.java    | 2 +-
 .../paimon/index/pksorted/PkSequentialIndexBuilderTest.java       | 6 +++---
 .../paimon/flink/globalindex/SortedIndexTopoBuilderTest.java      | 2 +-
 .../spark/globalindex/DefaultGlobalIndexTopoBuilderTest.java      | 2 +-
 .../paimon/spark/procedure/FMGlobalIndexProcedureTest.scala       | 8 ++++----
 .../org/apache/paimon/spark/sql/PrimaryKeySortedIndexTest.scala   | 2 +-
 12 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/docs/docs/flink/procedures.md b/docs/docs/flink/procedures.md
index 6e83467f78..fd27a10685 100644
--- a/docs/docs/flink/procedures.md
+++ b/docs/docs/flink/procedures.md
@@ -1085,7 +1085,7 @@ All available procedures are listed below.
          To create a global index on a table for accelerating queries. 
Arguments:
             <li>table(required): the target table identifier.</li>
             <li>index_column(required): the column name to build index on.</li>
-            <li>index_type(required): the type of global index, supported 
types include 'btree', 'bitmap', 'fmindex', 'ivf-flat', 'ivf-pq', 'ivf-sq', 
'ivf-rq', 'diskann', and 'full-text'.</li>
+            <li>index_type(required): the type of global index, supported 
types include 'btree', 'bitmap', 'fm', 'ivf-flat', 'ivf-pq', 'ivf-sq', 
'ivf-rq', 'diskann', and 'full-text'.</li>
             <li>partitions(optional): partition filter for selective index 
creation.</li>
             <li>options(optional): additional dynamic options for index 
creation.</li>
       </td>
@@ -1105,7 +1105,7 @@ All available procedures are listed below.
          CALL sys.create_global_index(<br/>
             `table` => 'default.T',<br/>
             `index_column` => 'content',<br/>
-            `index_type` => 'fmindex')<br/><br/>
+            `index_type` => 'fm')<br/><br/>
          -- Create index for specific partitions<br/>
          CALL sys.create_global_index(<br/>
             `table` => 'default.T',<br/>
diff --git a/docs/docs/multimodal-table/global-index/fm.mdx 
b/docs/docs/multimodal-table/global-index/fm.mdx
index 87666483d7..c67f8a7935 100644
--- a/docs/docs/multimodal-table/global-index/fm.mdx
+++ b/docs/docs/multimodal-table/global-index/fm.mdx
@@ -43,7 +43,7 @@ Create the index on a Data Evolution table with row tracking 
enabled:
 CALL sys.create_global_index(
     table => 'db.documents',
     index_column => 'content',
-    index_type => 'fmindex',
+    index_type => 'fm',
     options => 'fm-index.partition-row-count=100000'
 );
 ```
@@ -54,7 +54,7 @@ Drop it with the same index type:
 CALL sys.drop_global_index(
     table => 'db.documents',
     index_column => 'content',
-    index_type => 'fmindex'
+    index_type => 'fm'
 );
 ```
 
diff --git a/docs/docs/spark/procedures.md b/docs/docs/spark/procedures.md
index ca09823f9e..785dc271e0 100644
--- a/docs/docs/spark/procedures.md
+++ b/docs/docs/spark/procedures.md
@@ -560,14 +560,14 @@ This section introduce all available spark procedures 
about paimon.
          To create global index files for a given column. The table must have 
<code>row-tracking.enabled=true</code>. Arguments:
             <li>table: the target table identifier. Cannot be empty.</li>
             <li>index_column: the name of the column to index. Cannot be 
empty.</li>
-            <li>index_type: type of the index to build, e.g. 'btree', 
'bitmap', or 'fmindex'. Cannot be empty.</li>
+            <li>index_type: type of the index to build, e.g. 'btree', 
'bitmap', or 'fm'. Cannot be empty.</li>
             <li>partitions: partition filter to limit the partitions on which 
to build the index. The comma (",") represents "AND", the semicolon (";") 
represents "OR". Left empty for all partitions.</li>
             <li>options: additional dynamic options of the table. It 
prioritizes higher than original `tableProp` and lower than `procedureArg`.</li>
       </td>
       <td>
          CALL sys.create_global_index(table => 'default.T', index_column => 
'name', index_type => 'btree')<br/><br/>
          CALL sys.create_global_index(table => 'default.T', index_column => 
'tag', index_type => 'bitmap', options => 
'sorted-index.records-per-range=1000000')<br/><br/>
-         CALL sys.create_global_index(table => 'default.T', index_column => 
'content', index_type => 'fmindex')<br/><br/>
+         CALL sys.create_global_index(table => 'default.T', index_column => 
'content', index_type => 'fm')<br/><br/>
          CALL sys.create_global_index(table => 'default.T', index_column => 
'name', index_type => 'btree', partitions => 'pt=p1;pt=p2')<br/><br/>
          CALL sys.create_global_index(table => 'default.T', index_column => 
'content', index_type => 'full-text', options => 
'full-text.tokenizer=ngram,full-text.ngram.min-gram=2,full-text.ngram.max-gram=2')<br/><br/>
          CALL sys.create_global_index(table => 'default.T', index_column => 
'content', index_type => 'full-text', options => 
'full-text.tokenizer=jieba')<br/><br/>
diff --git 
a/paimon-common/src/main/java/org/apache/paimon/globalindex/fmindex/FMGlobalIndexWriter.java
 
b/paimon-common/src/main/java/org/apache/paimon/globalindex/fmindex/FMGlobalIndexWriter.java
index c43c4c1979..4c18b6da6f 100644
--- 
a/paimon-common/src/main/java/org/apache/paimon/globalindex/fmindex/FMGlobalIndexWriter.java
+++ 
b/paimon-common/src/main/java/org/apache/paimon/globalindex/fmindex/FMGlobalIndexWriter.java
@@ -290,7 +290,7 @@ public class FMGlobalIndexWriter implements 
GlobalIndexSingleColumnWriter, Close
         if (output != null) {
             return;
         }
-        fileName = fileWriter.newFileName("fmindex");
+        fileName = fileWriter.newFileName("fm");
         stream = fileWriter.newOutputStream(fileName);
         output = new DataOutputStream(stream);
     }
diff --git 
a/paimon-common/src/main/java/org/apache/paimon/globalindex/fmindex/FMGlobalIndexerFactory.java
 
b/paimon-common/src/main/java/org/apache/paimon/globalindex/fmindex/FMGlobalIndexerFactory.java
index 3984d69605..4b5e37c056 100644
--- 
a/paimon-common/src/main/java/org/apache/paimon/globalindex/fmindex/FMGlobalIndexerFactory.java
+++ 
b/paimon-common/src/main/java/org/apache/paimon/globalindex/fmindex/FMGlobalIndexerFactory.java
@@ -29,7 +29,7 @@ import static 
org.apache.paimon.utils.Preconditions.checkArgument;
 /** Factory for the exact partitioned FM contains index. */
 public class FMGlobalIndexerFactory implements GlobalIndexerFactory {
 
-    public static final String IDENTIFIER = "fmindex";
+    public static final String IDENTIFIER = "fm";
 
     @Override
     public String identifier() {
diff --git 
a/paimon-common/src/test/java/org/apache/paimon/globalindex/fmindex/FMGlobalIndexTest.java
 
b/paimon-common/src/test/java/org/apache/paimon/globalindex/fmindex/FMGlobalIndexTest.java
index edc1c9f2d8..78d98faea0 100644
--- 
a/paimon-common/src/test/java/org/apache/paimon/globalindex/fmindex/FMGlobalIndexTest.java
+++ 
b/paimon-common/src/test/java/org/apache/paimon/globalindex/fmindex/FMGlobalIndexTest.java
@@ -295,7 +295,7 @@ public class FMGlobalIndexTest {
         try (GlobalIndexReader reader = createReader(Collections.emptyList(), 
0)) {
             assertRows(reader.visitContains(fieldRef, str("")).join());
         }
-        assertThat(GlobalIndexer.create("fmindex", dataField, new Options()))
+        assertThat(GlobalIndexer.create("fm", dataField, new Options()))
                 .isInstanceOf(FMGlobalIndexer.class);
 
         List<GlobalIndexIOMeta> shifted = 
writeData(Collections.singletonList(str("value")), 1);
diff --git 
a/paimon-core/src/test/java/org/apache/paimon/index/pk/PrimaryKeyIndexDefinitionsTest.java
 
b/paimon-core/src/test/java/org/apache/paimon/index/pk/PrimaryKeyIndexDefinitionsTest.java
index 351fb64def..bdc92049d1 100644
--- 
a/paimon-core/src/test/java/org/apache/paimon/index/pk/PrimaryKeyIndexDefinitionsTest.java
+++ 
b/paimon-core/src/test/java/org/apache/paimon/index/pk/PrimaryKeyIndexDefinitionsTest.java
@@ -110,7 +110,7 @@ class PrimaryKeyIndexDefinitionsTest {
                 
PrimaryKeyIndexDefinitions.create(schema(options)).definitions().get(0);
 
         assertThat(definition.column()).isEqualTo("name");
-        assertThat(definition.indexType()).isEqualTo("fmindex");
+        assertThat(definition.indexType()).isEqualTo("fm");
         
assertThat(definition.family()).isEqualTo(PrimaryKeyIndexDefinition.Family.FM);
         
assertThat(definition.options().get("fm-index.sa-sample-rate")).isEqualTo("16");
         
assertThat(definition.options().get("fm-index.partition-row-count")).isEqualTo("2");
diff --git 
a/paimon-core/src/test/java/org/apache/paimon/index/pksorted/PkSequentialIndexBuilderTest.java
 
b/paimon-core/src/test/java/org/apache/paimon/index/pksorted/PkSequentialIndexBuilderTest.java
index fa0a55eb2b..da9f1670a5 100644
--- 
a/paimon-core/src/test/java/org/apache/paimon/index/pksorted/PkSequentialIndexBuilderTest.java
+++ 
b/paimon-core/src/test/java/org/apache/paimon/index/pksorted/PkSequentialIndexBuilderTest.java
@@ -88,7 +88,7 @@ class PkSequentialIndexBuilderTest {
                         },
                         capturingFile,
                         field(),
-                        "fmindex",
+                        "fm",
                         new Options())
                 .build(Arrays.asList(sourceB, sourceA));
 
@@ -116,7 +116,7 @@ class PkSequentialIndexBuilderTest {
                         ignored -> reader,
                         new PkSortedIndexFile(LocalFileIO.create(), 
pathFactory()),
                         field(),
-                        "fmindex",
+                        "fm",
                         new Options());
 
         assertThatThrownBy(() -> 
builder.build(Collections.singletonList(dataFile("data-file", 2))))
@@ -134,7 +134,7 @@ class PkSequentialIndexBuilderTest {
                                 },
                         new PkSortedIndexFile(LocalFileIO.create(), 
pathFactory()),
                         field(),
-                        "fmindex",
+                        "fm",
                         new Options());
 
         assertThatThrownBy(() -> 
builder.build(Collections.singletonList(dataFile("data-file", 1))))
diff --git 
a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/globalindex/SortedIndexTopoBuilderTest.java
 
b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/globalindex/SortedIndexTopoBuilderTest.java
index 86971d7d18..cdd5cf31c8 100644
--- 
a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/globalindex/SortedIndexTopoBuilderTest.java
+++ 
b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/globalindex/SortedIndexTopoBuilderTest.java
@@ -63,7 +63,7 @@ public class SortedIndexTopoBuilderTest {
         assertThat(SortedIndexTopoBuilder.supports("bitmap")).isTrue();
         assertThat(SortedIndexTopoBuilder.supports("btree")).isTrue();
         assertThat(SortedIndexTopoBuilder.supports("multivalue")).isTrue();
-        assertThat(SortedIndexTopoBuilder.supports("fmindex")).isFalse();
+        assertThat(SortedIndexTopoBuilder.supports("fm")).isFalse();
         assertThat(SortedIndexTopoBuilder.supports("inverted")).isFalse();
     }
 
diff --git 
a/paimon-spark/paimon-spark-common/src/test/java/org/apache/paimon/spark/globalindex/DefaultGlobalIndexTopoBuilderTest.java
 
b/paimon-spark/paimon-spark-common/src/test/java/org/apache/paimon/spark/globalindex/DefaultGlobalIndexTopoBuilderTest.java
index 4a2f0bd78e..0645119462 100644
--- 
a/paimon-spark/paimon-spark-common/src/test/java/org/apache/paimon/spark/globalindex/DefaultGlobalIndexTopoBuilderTest.java
+++ 
b/paimon-spark/paimon-spark-common/src/test/java/org/apache/paimon/spark/globalindex/DefaultGlobalIndexTopoBuilderTest.java
@@ -43,7 +43,7 @@ public class DefaultGlobalIndexTopoBuilderTest {
 
     @Test
     void testFMIndexUsesDefaultTopologyBuilder() {
-        
assertThat(GlobalIndexTopologyBuilderUtils.createTopoBuilder("fmindex"))
+        assertThat(GlobalIndexTopologyBuilderUtils.createTopoBuilder("fm"))
                 .isInstanceOf(DefaultGlobalIndexTopoBuilder.class);
     }
 
diff --git 
a/paimon-spark/paimon-spark-ut/src/test/scala/org/apache/paimon/spark/procedure/FMGlobalIndexProcedureTest.scala
 
b/paimon-spark/paimon-spark-ut/src/test/scala/org/apache/paimon/spark/procedure/FMGlobalIndexProcedureTest.scala
index 99ac73ff57..014bf1c1eb 100644
--- 
a/paimon-spark/paimon-spark-ut/src/test/scala/org/apache/paimon/spark/procedure/FMGlobalIndexProcedureTest.scala
+++ 
b/paimon-spark/paimon-spark-ut/src/test/scala/org/apache/paimon/spark/procedure/FMGlobalIndexProcedureTest.scala
@@ -53,7 +53,7 @@ class FMGlobalIndexProcedureTest extends PaimonSparkTestBase 
with StreamTest {
       val output = spark
         .sql(
           "CALL sys.create_global_index(" +
-            "table => 'test.T', index_column => 'content', index_type => 
'fmindex', " +
+            "table => 'test.T', index_column => 'content', index_type => 'fm', 
" +
             "options => 'fm-index.partition-row-count=2')")
         .collect()
         .head
@@ -65,7 +65,7 @@ class FMGlobalIndexProcedureTest extends PaimonSparkTestBase 
with StreamTest {
         .scanEntries()
         .asScala
         .map(_.indexFile())
-        .filter(_.indexType() == "fmindex")
+        .filter(_.indexType() == "fm")
       assert(entries.nonEmpty)
       assert(entries.map(_.rowCount()).sum == 7L)
 
@@ -111,7 +111,7 @@ class FMGlobalIndexProcedureTest extends 
PaimonSparkTestBase with StreamTest {
       val output = spark
         .sql(
           "CALL sys.create_global_index(" +
-            "table => 'test.T', index_column => 'content', index_type => 
'fmindex', " +
+            "table => 'test.T', index_column => 'content', index_type => 'fm', 
" +
             "options => 'fm-index.partition-row-count=2')")
         .collect()
         .head
@@ -123,7 +123,7 @@ class FMGlobalIndexProcedureTest extends 
PaimonSparkTestBase with StreamTest {
         .scanEntries()
         .asScala
         .map(_.indexFile())
-        .filter(_.indexType() == "fmindex")
+        .filter(_.indexType() == "fm")
       assert(entries.nonEmpty)
       // The index retains the stable physical row-id range, including rows 
hidden by DVs.
       assert(entries.map(_.rowCount()).sum == 7L)
diff --git 
a/paimon-spark/paimon-spark-ut/src/test/scala/org/apache/paimon/spark/sql/PrimaryKeySortedIndexTest.scala
 
b/paimon-spark/paimon-spark-ut/src/test/scala/org/apache/paimon/spark/sql/PrimaryKeySortedIndexTest.scala
index 01beef921a..fd48b69956 100644
--- 
a/paimon-spark/paimon-spark-ut/src/test/scala/org/apache/paimon/spark/sql/PrimaryKeySortedIndexTest.scala
+++ 
b/paimon-spark/paimon-spark-ut/src/test/scala/org/apache/paimon/spark/sql/PrimaryKeySortedIndexTest.scala
@@ -62,7 +62,7 @@ class PrimaryKeySortedIndexTest extends PaimonSparkTestBase {
       val sourceIndexes = 
loadTable("t").store.newIndexFileHandler.scanEntries.asScala
         .map(_.indexFile)
         .filter(meta => meta.globalIndexMeta != null && 
meta.globalIndexMeta.sourceMeta != null)
-      assert(sourceIndexes.map(_.indexType).toSet == Set("fmindex"))
+      assert(sourceIndexes.map(_.indexType).toSet == Set("fm"))
       assert(sourceIndexes.size == 1)
 
       val predicateBuilder = new PredicateBuilder(loadTable("t").rowType())

Reply via email to