在Elasticsearch中,我想用我的自定义分析器索引一些字段。因此,首先,我将分析器添加到其他配置中
Liferay公司-
其他索引配置
{
"analysis": {
"analyzer": {
"mmc_custom": {
"tokenizer": "standard",
"filter": [
"standard",
"my_ascii_folding",
"lowercase"
]
}
},
"filter": {
"my_ascii_folding": {
"type": "asciifolding",
"preserve_original": true
}
}
}
}
覆盖类型映射
"title": {
"mapping": {
"analyzer": "mmc_custom",
"index": "analyzed",
"store": "true",
"term_vector": "with_positions_offsets",
"type": "string"
}
}
在Liferay Elasticsearch中添加此属性后,我重置了索引,重新启动了Liferay。Portal使用我的映射和分析器正确创建了一个新索引。然后我重新索引了我的文档。当我在Elasticsearch中搜索某物时,它会显示预期的结果,我看到它按照我想要的方式分析了我的字段。但是当我通过Liferay门户搜索时,我看不到任何变化,我的字段没有被分析。我做错了什么?我有新索引,数据来自它,为什么Liferay看不到它?
我提到了这个网站。
如果要在Liferay中使用自定义分析器,需要执行两个步骤。
听我解释
>
在附加索引配置中的分析器下方写入分析器
{
"analysis":{
"filter":{
"my_synonym_filter":{
"type":"synonym",
"synonyms":[
"british,english",
"queen,monarch"
]
}
},
"analyzer":{
"custom_analyzer":{
"tokenizer":"standard",
"filter":[
"lowercase",
"my_synonym_filter",
"asciifolding",
"stemmer"
]
}
}
}
}
现在您的分析仪已准备就绪,现在您可以覆盖Liferay映射
要覆盖映射,您可以复制Liferay映射文件(控制面板-
根据您的要求进行更改(更改版本-{公司名称}为LiferayDocumentType)
所以现在新文件如下所示
{
"LiferayDocumentType" : {
"dynamic_templates" : [
//Your mappings
]
}
}
在字段中添加此替代文件(替代类型映射)
然后重新索引数据,然后可以使用搜索来测试分析仪
问题内容: 对于使用嵌套客户端的Elasticsearch非常新,我正在使用自定义分析器创建索引,但是在使用分析进行测试时,它似乎并未使用自定义分析器。主要没有Edgengram令牌出现。我缺少什么使我的自定义分析器成为索引的默认设置吗?当我使用elastichq检查映射时,它们会显示我的自定义分析器。 问题答案: 您已将自定义分析器添加到索引中,但是现在您需要将其应用到字段中。您可以在字段映射级
我正在使用自定义的NGRAM分析器,它有一个NGRAM标记器。我也用过小写过滤器。对于没有字符的搜索,该查询运行良好。但是当我搜索某些符号时,它失败了。由于我使用了小写标记器,Elasticsearch不分析符号。我知道空白标记器可以帮助我解决这个问题。如何在一个分析器中使用两个标记器?下面是映射: 我有办法解决这个问题吗?
问题内容: 我使用以下命令通过请求创建索引: 但这返回以下错误: 我发送的json似乎有效。此错误的原因是什么? 我正在使用ES 2.2.0。 问题答案: 由于错误消息描述了自定义分析仪,例如 不是映射中选项的有效值。根据文档,它只能采用的值是 没有 不要将此字段值添加到索引中。使用此设置,该字段将不可查询。 not_analyzed 将字段值不变地添加到索引中,作为一项。这是所有支持此选项的字段
问题内容: 历史上一直存在“ 如何在没有主要方法的情况下启动应用程序 ”的问题,大多数都沿用“ 您不能 ”的方式陈述。我注意到现在如何可以通过扩展来启动JavaFX应用程序。我一直在使用与相似的方法,但是在这种情况下,我始终将主要方法视为样板代码。因此,我再次开始寻找答案。 我找到了这个答案,将我们链接到可以学习如何创建自己的JVM启动器的地方,但不幸的是,该文章不再存在。我花了很长时间寻找可能暗
我正在为我的硕士使用py elasticsearch dsl,我正在土耳其标题语料库中创建标题文档索引,我需要为土耳其语言实现一个自定义的小写分析器:https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-lowercase-tokenfilter.html#analysis-小写令牌过滤器 我试着这样做:
我无法确定问题的原因,我不知道是分析器无效还是elasticsearch甚至找到了autocomplete-analyser.json文件。我该怎么解决这个?