diff --git a/index.go b/index.go
index 4632d95802fabbb0902464057c971b606241eaa1..71bcde22b787327cbe2466214316efb8c857ff56 100644
--- a/index.go
+++ b/index.go
@@ -44,6 +44,7 @@ func buildIndexMapping() *bleve.IndexMapping {
 	genericTextFieldMapping.Analyzer = "my_base"
 
 	docMapping := bleve.NewDocumentMapping()
+	docMapping.DefaultAnalyzer = "my_base"
 	docMapping.AddSubDocumentMapping("id", bleve.NewDocumentDisabledMapping())
 	docMapping.AddFieldMappingsAt("content", genericTextFieldMapping)
 	docMapping.AddFieldMappingsAt("title", genericTextFieldMapping)
@@ -51,6 +52,7 @@ func buildIndexMapping() *bleve.IndexMapping {
 	mapping.AddDocumentMapping("doc", docMapping)
 
 	itDocMapping := bleve.NewDocumentMapping()
+	itDocMapping.DefaultAnalyzer = "my_it"
 	itDocMapping.AddSubDocumentMapping("id", bleve.NewDocumentDisabledMapping())
 	itDocMapping.AddFieldMappingsAt("content", itTextFieldMapping)
 	itDocMapping.AddFieldMappingsAt("title", genericTextFieldMapping)
@@ -58,13 +60,14 @@ func buildIndexMapping() *bleve.IndexMapping {
 	mapping.AddDocumentMapping("doc_it", itDocMapping)
 
 	enDocMapping := bleve.NewDocumentMapping()
+	enDocMapping.DefaultAnalyzer = "my_en"
 	enDocMapping.AddSubDocumentMapping("id", bleve.NewDocumentDisabledMapping())
 	enDocMapping.AddFieldMappingsAt("content", enTextFieldMapping)
 	enDocMapping.AddFieldMappingsAt("title", genericTextFieldMapping)
 	enDocMapping.AddFieldMappingsAt("data", storeFieldOnlyMapping)
 	mapping.AddDocumentMapping("doc_en", enDocMapping)
 
-	mapping.DefaultAnalyzer = "my_base"
+	// mapping.DefaultAnalyzer = "my_en"
 	mapping.DefaultField = "content"
 	return mapping
 }
@@ -95,6 +98,10 @@ type BleveDocument struct {
 	Kind string `json:"_type"`
 }
 
+func (bd *BleveDocument) Type() string {
+	return bd.Kind
+}
+
 func docToBleve(doc Document) (*BleveDocument, error) {
 	data, err := json.Marshal(doc)
 	if err != nil {