0

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

ServerError = {ServerError:400Type:非法参数异常原因:“[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 场景不起作用,任何人都可以指导吗?

4

1 回答 1

1

安装拼音插件后重新启动 elasticsearch 实例即可解决问题。您可以按照 Rob 的建议使用此 url (localhost:9200/_nodes)。

于 2018-02-15T13:00:18.420 回答