Skip to content

Commit

Permalink
changes for new bleve config
Browse files Browse the repository at this point in the history
  • Loading branch information
mschoch committed Sep 16, 2015
1 parent 721fab2 commit 262fe2a
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 21 deletions.
6 changes: 4 additions & 2 deletions mapping.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,19 @@ package main

import (
"github.com/blevesearch/bleve"
"github.com/blevesearch/bleve/analysis/analyzers/keyword_analyzer"
"github.com/blevesearch/bleve/analysis/language/en"
)

func buildIndexMapping() (*bleve.IndexMapping, error) {

// a generic reusable mapping for english text
englishTextFieldMapping := bleve.NewTextFieldMapping()
englishTextFieldMapping.Analyzer = "en"
englishTextFieldMapping.Analyzer = en.AnalyzerName

// a generic reusable mapping for keyword text
keywordFieldMapping := bleve.NewTextFieldMapping()
keywordFieldMapping.Analyzer = "keyword"
keywordFieldMapping.Analyzer = keyword_analyzer.Name

beerMapping := bleve.NewDocumentMapping()

Expand Down
28 changes: 18 additions & 10 deletions mapping_example1.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ package main

import (
"github.com/blevesearch/bleve"
"github.com/blevesearch/bleve/analysis/analyzers/custom_analyzer"
"github.com/blevesearch/bleve/analysis/analyzers/keyword_analyzer"
"github.com/blevesearch/bleve/analysis/language/en"
"github.com/blevesearch/bleve/analysis/token_filters/lower_case_filter"
"github.com/blevesearch/bleve/analysis/token_filters/porter"
"github.com/blevesearch/bleve/analysis/token_filters/truncate_token_filter"
"github.com/blevesearch/bleve/analysis/tokenizers/unicode"
"github.com/blevesearch/blevex/detect_lang"
)

const textFieldAnalyzer = "en"
Expand All @@ -25,17 +33,17 @@ func buildIndexMapping() (*bleve.IndexMapping, error) {

// a generic reusable mapping for english text
englishTextFieldMapping := bleve.NewTextFieldMapping()
englishTextFieldMapping.Analyzer = "en"
englishTextFieldMapping.Analyzer = en.AnalyzerName

// a generic reusable mapping for keyword text
keywordFieldMapping := bleve.NewTextFieldMapping()
keywordFieldMapping.Analyzer = "keyword"
keywordFieldMapping.Analyzer = keyword_analyzer.Name

// a specific mapping to index the description fields
// detected language
descriptionLangFieldMapping := bleve.NewTextFieldMapping()
descriptionLangFieldMapping.Name = "descriptionLang"
descriptionLangFieldMapping.Analyzer = "detect_lang"
descriptionLangFieldMapping.Analyzer = detect_lang.AnalyzerName
descriptionLangFieldMapping.Store = false
descriptionLangFieldMapping.IncludeTermVectors = false
descriptionLangFieldMapping.IncludeInAll = false
Expand Down Expand Up @@ -67,7 +75,7 @@ func buildIndexMapping() (*bleve.IndexMapping, error) {

err := indexMapping.AddCustomTokenFilter("notTooLong",
map[string]interface{}{
"type": "truncate_token",
"type": truncate_token_filter.Name,
"length": 5.0,
})
if err != nil {
Expand All @@ -76,14 +84,14 @@ func buildIndexMapping() (*bleve.IndexMapping, error) {

err = indexMapping.AddCustomAnalyzer("enNotTooLong",
map[string]interface{}{
"type": "custom",
"tokenizer": "unicode",
"type": custom_analyzer.Name,
"tokenizer": unicode.Name,
"token_filters": []string{
"notTooLong",
"possessive_en",
"to_lower",
"stop_en",
"stemmer_en",
en.PossessiveName,
lower_case_filter.Name,
en.StopName,
porter.Name,
},
})
if err != nil {
Expand Down
25 changes: 16 additions & 9 deletions mapping_example2.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,13 @@ package main

import (
"github.com/blevesearch/bleve"
"github.com/blevesearch/bleve/analysis/analyzers/custom_analyzer"
"github.com/blevesearch/bleve/analysis/analyzers/keyword_analyzer"
"github.com/blevesearch/bleve/analysis/language/en"
"github.com/blevesearch/bleve/analysis/token_filters/edge_ngram_filter"
"github.com/blevesearch/bleve/analysis/token_filters/lower_case_filter"
"github.com/blevesearch/bleve/analysis/tokenizers/unicode"
"github.com/blevesearch/blevex/detect_lang"
)

const textFieldAnalyzer = "en"
Expand All @@ -25,17 +32,17 @@ func buildIndexMapping() (*bleve.IndexMapping, error) {

// a generic reusable mapping for english text
englishTextFieldMapping := bleve.NewTextFieldMapping()
englishTextFieldMapping.Analyzer = "en"
englishTextFieldMapping.Analyzer = en.AnalyzerName

// a generic reusable mapping for keyword text
keywordFieldMapping := bleve.NewTextFieldMapping()
keywordFieldMapping.Analyzer = "keyword"
keywordFieldMapping.Analyzer = keyword_analyzer.Name

// a specific mapping to index the description fields
// detected language
descriptionLangFieldMapping := bleve.NewTextFieldMapping()
descriptionLangFieldMapping.Name = "descriptionLang"
descriptionLangFieldMapping.Analyzer = "detect_lang"
descriptionLangFieldMapping.Analyzer = detect_lang.AnalyzerName
descriptionLangFieldMapping.Store = false
descriptionLangFieldMapping.IncludeTermVectors = false
descriptionLangFieldMapping.IncludeInAll = false
Expand Down Expand Up @@ -67,7 +74,7 @@ func buildIndexMapping() (*bleve.IndexMapping, error) {

err := indexMapping.AddCustomTokenFilter("edgeNgram325",
map[string]interface{}{
"type": "edge_ngram",
"type": edge_ngram_filter.Name,
"min": 3.0,
"max": 25.0,
})
Expand All @@ -77,12 +84,12 @@ func buildIndexMapping() (*bleve.IndexMapping, error) {

err = indexMapping.AddCustomAnalyzer("enWithEdgeNgram325",
map[string]interface{}{
"type": "custom",
"tokenizer": "unicode",
"type": custom_analyzer.Name,
"tokenizer": unicode.Name,
"token_filters": []string{
"possessive_en",
"to_lower",
"stop_en",
en.PossessiveName,
lower_case_filter.Name,
en.StopName,
"edgeNgram325",
},
})
Expand Down

0 comments on commit 262fe2a

Please sign in to comment.