Nnet在Dotnet中的弹性搜索语音问题

时间:2018-02-13 13:06:52

标签: elasticsearch nest elasticsearch-5 elasticsearch-analyzers elasticsearch-phonetic

我是弹性搜索的新手,我想用它来进行语音搜索,所以我使用nougat包在dotnet中添加了插件NEST,并尝试使用拼音创建索引,但会出现以下错误。

ServerError = {ServerError:400Type:illegal_argument_exception原因:“[my_metaphone]的未知过滤器类型[拼音]”}

var result = client.CreateIndex("indexName", i => i
            .Settings(s => s
            .Analysis(a => a
                .Analyzers(x => x.Custom("my_analyzer", ca => ca.Filters("standard", "lowercase", "my_metaphone")))
                .TokenFilters(x => x.Phonetic("my_metaphone", pf => pf.Encoder(PhoneticEncoder.DoubleMetaphone)))
                ))
                .Mappings(m => m
                    .Map<CityModel>(mm => mm
                    .AutoMap()
                    .Properties(p => p
                        .Text(t => t
                            .Name(n => n.Name)
                            .Analyzer("my_analyzer")
                            .SearchAnalyzer("my_analyzer")
                            )
                            )
                            )
                            )
                );

任何人都可以帮助我在dotnet中使用语音配置创建索引吗? 在此先感谢

编辑:

我可以使用低于json的请求创建索引。

<pre>
PUT /indexname
    {  
    	"settings": {
    		"index": {
    			"number_of_shards" : 4,
    			"analysis": {
    				"analyzer": {
    					"my_analyzer": {
    						"tokenizer": "standard",
    						"filter": ["standard","lowercase","my_metaphone"]
    						}
    							},
    				"filter": {
    					"my_metaphone": {
    						"type": "phonetic",
    						"encoder": "metaphone",
    						"replace": false
    									}
    							}
    						}
    				}
    				},
          "mappings":{  
             "crm3":{  
                "properties":{  
                   "@timestamp":{  
                      "type":"date"
                   },
                   "@version":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "AccountCategory":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "AccountNo":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "AccountStatus":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "ActivationDate":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "AnniversaryDate":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "BirthDate":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "CityName":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "ContactNumbers":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "EmailIDs":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "FirstName":{  
                      "type":"text",
    				  "analyzer": "my_analyzer",
    				  "search_analyzer": "my_analyzer",
                      "fields":{  
                         "keyword":{  
                            "type":"text"
                         }
                      }
                   },
                   "Gender":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "IMSINumber":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "IsBlackListed":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "LastName":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "MiddleName":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "OrganizationName":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "Segment":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "SubscriberID":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "SubscriberNo":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "SubscriberTypeName":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "host":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "message":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   },
                   "path":{  
                      "type":"text",
                      "fields":{  
                         "keyword":{  
                            "type":"keyword",
                            "ignore_above":256
                         }
                      }
                   }
                }
             }
          }
    }
    </pre>

使用C#linq方案不起作用,任何一个指南都可以吗?

1 个答案:

答案 0 :(得分:0)

在安装了拼音插件后重启弹性搜索实例后,问题就解决了。你可以找到使用这个url(localhost:9200 / _nodes),如Rob建议的那样。