Elasticversion - 5.2
尝试以下映射
PUT demo
{
"settings": {
"analysis": {
"analyzer": {
"index_analyzer_v1" : {
"tokenizer" : "whitespace",
"filter" : [ "word_delimeter"]
}
},
"filter": {
"ngram_filter" : {
"type" : "nGram",
"min_gram": 1,
"max_gram": 10,
"token_chars": [
"letter",
"digit"
]
},
"word_delimeter" : {
"type" : "word_delimiter",
"generate_number_parts" : true,
"catenate_words" : true,
"catenate_numbers": true,
"preserve_original" : true,
"stem_english_possessive": true
},
"stop_words" : {
"type": "stop",
"stopwords": ["and", "is", "the", "we", "in", "are", "was", "were", "of"]
}
}
}
},
"mappings": {
"product": {
"dynamic": "strict",
"properties": {
"name": {
"type": "text",
"analyzer": "index_analyzer_v1"
}
}
}
}
}
指数下列文件
POST demo/product
{
"name":"SH-09"
}
运行下面的查询
POST demo/_search
{
"query": {"bool": {"must": [
{"term": {
"name": {
"value": "09"
}
}}
]}}
}
Furthur更多,如果你はNT看到存储在倒排索引值,运行以下查询
GET demo/_analyze?analyzer=index_analyzer_v1&text=SH-09
希望这有助于
你能告诉我们你想要什么呢? – paqash
你好@paqash,感谢对我的问题感兴趣。 user3775217在下面提供了一个很好的示例,非常有用。但是如果你可以给我一个插入文本** {“name”:“everyone”} **的文档,并且如果搜索字符串“** every **”或“*”,我会很高兴。 * body **“,结果至少是该文件。基本上我想看到弹性搜索功能“** generate_word_parts **”在行动。这里是我之前发布的类似问题:[link](http://stackoverflow.com/questions/42336347/elasticsearch-token-filter-word-delimiter-and-generate-word-parts) –