想要在Java API中获得一个mapping 还真困难,以此铭记。
import org.elasticsearch.client.Client;
import org.elasticsearch.cluster.ClusterState;
import org.elasticsearch.cluster.metadata.IndexMetaData;
import org.elasticsearch.cluster.metadata.MappingMetaData;
import com.donlianli.es.ESUtils;
public class GetMappingTest {
public static void main(String[] argv) throws Exception{
Client client = ESUtils.getClient();
ClusterState cs = client.admin().cluster().prepareState()
//索引库名称为testIndex
.setFilterIndices("test").execute().actionGet().getState();
IndexMetaData imd = cs.getMetaData()
//这个名称同上面的名称
.index("test");
//type的名称
MappingMetaData mdd = imd.mapping("test");
System.out.println(mdd.sourceAsMap());
}
}