我已经通过ElasticSearch Sense浏览器插件创建了以下索引,并且还创建了C#Nest
Fluent映射。我可以在nGrams过滤器上表达Nest中除“ token_chars”以外的所有内容。我没有在C#嵌套上获得强类型属性来添加“
token_chars”。有人遇到过同样的问题吗?
json和c#设置如下所示。请帮忙
"analysis": {
"analyzer": {
"str_index_analyzer": {
"filter": [
"lowercase",
"substring"
],
"tokenizer": "keyword"
},
"filter": {
"substring": {
"max_gram": "50",
"type": "nGram",
"min_gram": "2",
"token_chars": [ /*Not able to map */
"letter",
"digit"
]
}
}
我没有在C#嵌套上获得强类型属性来添加“ token_chars”。有人面临同样的问题吗?
var result = this._client.CreateIndex("mkfindex1", c => c
.Analysis(a => a.Analyzers(an => an.Add("str_index_analyzer", new CustomAnalyzer()
{
Filter = new string[] { "lowercase", "substring" },
Tokenizer = "keyword"
})).TokenFilters(bases => bases.Add("substring", new NgramTokenFilter()
{
MaxGram = 50,
MinGram = 2,
/*"token_chars": [//Not able to map
"letter",
"digit"
*/
}))));
我遇到了同样的问题。解决方法是不使用Fluent Mapping,而仅通过Settings.Add()
方法将您的分析设置直接指定为Fluent
Dictionary条目。下面是一个应正确配置索引的示例。
var result = this._client.CreateIndex("mkfindex1", c => c
.Settings.Add("analysis.analyzer", "str_index_analyzer")
.Settings.add("analysis.analyzer.str_index_analyzer.type", "custom")
.Settings.add("analysis.analyzer.str_index_analyzer.tokenizer", "keyword")
.Settings.Add("analysis.analyzer.str_index_analyzer.filter.0", "lowercase")
.Settings.Add("analysis.analyzer.str_index_analyzer.filter.1", "substring")
.Settings.add("analysis.filter.substring.type", "nGram")
.Settings.add("analysis.filter.substring.min_gram", "2")
.Settings.add("analysis.filter.substring.max_gram", "50")
.Settings.add("analysis.filter.substring.token_chars.0", "letter")
.Settings.add("analysis.filter.substring.token_chars.0", "digit")
);
希望这可以帮助。
将x-www-form-urlencode数据发布到Spring。这是有效的: 另一方面,这给出了一个例外: 不支持内容类型'application/x-www-form-urlencoded;charset=utf-8' 这将导致bean上的所有字段为空: FUD: 表单数据: POM:
我使用http://jsonlint.com来验证JSON是否有效。因此,我要么需要更改JSON或代码,要么可能两者都需要。有什么想法吗?
您好,在boost或std中是否有一个容器,其中键是类型名,值是对象/实例??? 我想要实现的是,对于每种数据类型,我都有一个对象池,当我想要构造那个对象时,我只想通过键获取。我已经有了工作代码,但如果我使用更标准的代码,我会更高兴。 目前我有这样一个代码: 编辑:我想要的是一个COMPILE-TIME映射。你可以想象一个std::元组
我能够使用Json输出运行Jersey,并且能够在没有任何问题的情况下使用Json映射获得“get”请求。 我也有一些JSON方法,它们是“post”方法,它们映射到Java类,如下面的方法- 供您参考,我在这里或这里遵循指南 在给出一个有效的post请求时,它们都开始抛出下面的错误-
错误: 我希望在列表中映射相同的字段名,而不需要另一个单独的方法,就像在另一个项目中使用旧的版本时一样。
例如,我有以下接口映射器: 在代码中,您可以看到映射和一些默认方法,其中包含其他映射。如何在Mapstruct映射中使用这些方法,以便Mapstruct使用这些方法在字段中填充值?