通过mongodb河在弹性搜索创建索引映射没有生效

我想使用以下命令使用mongodb-river在elasticsearch中索引mongodb,但文档映射没有生效。它仍然使用默认分析器(标准)字段text通过mongodb河在弹性搜索创建索引映射没有生效

Mongodb-river 该文档指定创建索引,但没有关于如何提供自定义映射的文档。这是我试过的。是否有任何其他文件,我可以找到如何指定自定义分析仪等在使用mongodb河。

curl -XPUT "localhost:9200/_river/autocompleteindex/_meta" -d ' 

{

"type": "mongodb",

"mongodb": {

"host": "rahulg-dc",

"port": "27017",

"db": "qna",

"collection": "autocomplete_questions"

},

"index": {

"name": "autocompleteindex",

"type": "autocomplete_questions",

"analysis" : {

"analyzer" : {

"str_search_analyzer" : {

"tokenizer" : "keyword",

"filter" : ["lowercase"]

},

"str_index_analyzer" : {

"tokenizer" : "keyword",

"filter" : ["lowercase", "ngram"]

}

},

"filter" : {

"ngram" : {

"type" : "ngram",

"min_gram" : 2,

"max_gram" : 20

}

}

}

},

"autocompleteindex": {

"_boost" : {

"name" : "po",

"null_value" : 1.0

},

"properties": {

"po": {

"type": "double"

},

"text": {

"type": "string",

"boost": 3.0,

"search_analyzer" : "str_search_analyzer",

"index_analyzer" : "str_index_analyzer"

}

}

}

}'

该查询返回正确的结果是我搜索完整的单词,但不匹配任何子字符串匹配。此外,推动因素并未显示其效果。

我在做什么错?

回答:

你必须先创建你的index settings(分析)索引:

"analysis" : { 

"analyzer" : {

"str_search_analyzer" : {

"tokenizer" : "keyword",

"filter" : ["lowercase"]

},

"str_index_analyzer" : {

"tokenizer" : "keyword",

"filter" : ["lowercase", "ngram"]

}

},

"filter" : {

"ngram" : {

"type" : "ngram",

"min_gram" : 2,

"max_gram" : 20

}

}

}

然后你可以define a mapping你的类型:

"autocomplete_questions": { 

"_boost" : {

"name" : "po",

"null_value" : 1.0

},

"properties": {

"po": {

"type": "double"

},

"text": {

"type": "string",

"boost": 3.0,

"search_analyzer" : "str_search_analyzer",

"index_analyzer" : "str_index_analyzer"

}

}

}

也只有这样,你可以创建河流:

curl -XPUT "localhost:9200/_river/autocompleteindex/_meta" -d ' 

{

"type": "mongodb",

"mongodb": {

"host": "rahulg-dc",

"port": "27017",

"db": "qna",

"collection": "autocomplete_questions"

},

"index": {

"name": "autocompleteindex",

"type": "autocomplete_questions"} }

帮助吗?

以上是 通过mongodb河在弹性搜索创建索引映射没有生效 的全部内容, 来源链接: utcz.com/qa/264439.html

回到顶部