c526a38369
ultimately this is make it more convenient for us to wire up different elements of the analysis pipeline, without having to preload everything into memory before we need it separately the index layer now has a mechanism for storing internal key/value pairs. this is expected to be used to store the mapping, and possibly other pieces of data by the top layer, but not exposed to the user at the top.
135 lines
4.0 KiB
Go
135 lines
4.0 KiB
Go
package da
|
|
|
|
import (
|
|
"github.com/couchbaselabs/bleve/analysis"
|
|
"github.com/couchbaselabs/bleve/registry"
|
|
)
|
|
|
|
const StopName = "stop_da"
|
|
|
|
// this content was obtained from:
|
|
// lucene-4.7.2/analysis/common/src/resources/org/apache/lucene/analysis/snowball/
|
|
// ` was changed to ' to allow for literal string
|
|
|
|
var DanishStopWords = []byte(` | From svn.tartarus.org/snowball/trunk/website/algorithms/danish/stop.txt
|
|
| This file is distributed under the BSD License.
|
|
| See http://snowball.tartarus.org/license.php
|
|
| Also see http://www.opensource.org/licenses/bsd-license.html
|
|
| - Encoding was converted to UTF-8.
|
|
| - This notice was added.
|
|
|
|
|
| NOTE: To use this file with StopFilterFactory, you must specify format="snowball"
|
|
|
|
| A Danish stop word list. Comments begin with vertical bar. Each stop
|
|
| word is at the start of a line.
|
|
|
|
| This is a ranked list (commonest to rarest) of stopwords derived from
|
|
| a large text sample.
|
|
|
|
|
|
og | and
|
|
i | in
|
|
jeg | I
|
|
det | that (dem. pronoun)/it (pers. pronoun)
|
|
at | that (in front of a sentence)/to (with infinitive)
|
|
en | a/an
|
|
den | it (pers. pronoun)/that (dem. pronoun)
|
|
til | to/at/for/until/against/by/of/into, more
|
|
er | present tense of "to be"
|
|
som | who, as
|
|
på | on/upon/in/on/at/to/after/of/with/for, on
|
|
de | they
|
|
med | with/by/in, along
|
|
han | he
|
|
af | of/by/from/off/for/in/with/on, off
|
|
for | at/for/to/from/by/of/ago, in front/before, because
|
|
ikke | not
|
|
der | who/which, there/those
|
|
var | past tense of "to be"
|
|
mig | me/myself
|
|
sig | oneself/himself/herself/itself/themselves
|
|
men | but
|
|
et | a/an/one, one (number), someone/somebody/one
|
|
har | present tense of "to have"
|
|
om | round/about/for/in/a, about/around/down, if
|
|
vi | we
|
|
min | my
|
|
havde | past tense of "to have"
|
|
ham | him
|
|
hun | she
|
|
nu | now
|
|
over | over/above/across/by/beyond/past/on/about, over/past
|
|
da | then, when/as/since
|
|
fra | from/off/since, off, since
|
|
du | you
|
|
ud | out
|
|
sin | his/her/its/one's
|
|
dem | them
|
|
os | us/ourselves
|
|
op | up
|
|
man | you/one
|
|
hans | his
|
|
hvor | where
|
|
eller | or
|
|
hvad | what
|
|
skal | must/shall etc.
|
|
selv | myself/youself/herself/ourselves etc., even
|
|
her | here
|
|
alle | all/everyone/everybody etc.
|
|
vil | will (verb)
|
|
blev | past tense of "to stay/to remain/to get/to become"
|
|
kunne | could
|
|
ind | in
|
|
når | when
|
|
være | present tense of "to be"
|
|
dog | however/yet/after all
|
|
noget | something
|
|
ville | would
|
|
jo | you know/you see (adv), yes
|
|
deres | their/theirs
|
|
efter | after/behind/according to/for/by/from, later/afterwards
|
|
ned | down
|
|
skulle | should
|
|
denne | this
|
|
end | than
|
|
dette | this
|
|
mit | my/mine
|
|
også | also
|
|
under | under/beneath/below/during, below/underneath
|
|
have | have
|
|
dig | you
|
|
anden | other
|
|
hende | her
|
|
mine | my
|
|
alt | everything
|
|
meget | much/very, plenty of
|
|
sit | his, her, its, one's
|
|
sine | his, her, its, one's
|
|
vor | our
|
|
mod | against
|
|
disse | these
|
|
hvis | if
|
|
din | your/yours
|
|
nogle | some
|
|
hos | by/at
|
|
blive | be/become
|
|
mange | many
|
|
ad | by/through
|
|
bliver | present tense of "to be/to become"
|
|
hendes | her/hers
|
|
været | be
|
|
thi | for (conj)
|
|
jer | you
|
|
sådan | such, like this/like that
|
|
`)
|
|
|
|
func TokenMapConstructor(config map[string]interface{}, cache *registry.Cache) (analysis.TokenMap, error) {
|
|
rv := analysis.NewTokenMap()
|
|
err := rv.LoadBytes(DanishStopWords)
|
|
return rv, err
|
|
}
|
|
|
|
func init() {
|
|
registry.RegisterTokenMap(StopName, TokenMapConstructor)
|
|
}
|