弹性研究 - 分析 - kuromoji的行为不是我所期望的

时间:2015-04-23 10:04:16

标签: java elasticsearch analysis kuromoji

我一直在使用elasticsearch-analysis-kuromoji进行日语搜索,但我得到了两个非常奇怪的行为,第一个是我搜索的字符不起作用,比如 - '输出贸易'不会除非我把它作为'输出贸易'传递给每个角色之间的空格。 此外,还没有搜索像ント这样的字符。

这是我的配置:

/user/:method(\.(:type))

我配置错了还是我需要一个不同的角色代理器,如: '输出贸易和ント'

谢谢

1 个答案:

答案 0 :(得分:0)

经过一些在线研究和来自elasticsearch-analysis-kuromoji团队的一些帮助后,我找到了问题,即使我创建了分析师并告诉查询使用它,我还需要像这样添加映射:

XContentBuilder xbMapping =
        jsonBuilder()
                .startObject()
                .startObject(indexType)
                .startObject("properties")
                .startObject("source")
                .field("type", "string")
                .endObject()
                .startObject("text")
                .field("type", "string")
                .field("analyzer", JAPANESE_LANGUAGE_ANALYSIS)
                .endObject()
                .endObject()
                .endObject()
                .endObject();

elasticSearchClient.admin().indices()
        .preparePutMapping(indexName)
        .setType(indexType)
        .setSource(xbMapping)
        .execute().get();