我们如何停止分析弹性搜索中的标记?

时间:2018-03-26 21:33:18

标签: java elasticsearch elasticsearch-5

所以我的弹性搜索索引中有一个这样的字段:

"filename": { "type": "text", "fielddata": true }

我正在尝试使用Java API来查询它:

client.prepareSearch(IMYINDEX).setQuery(query)
            .addDocValueField("filename")

然而,该领域又出现了这种情况:

"fields": { "filename": ["bob4322_35_223", "jpg"] }

我使用SearchHitField来抓取对象。现在我可以循环并重新组合令牌:"bob4322_35_223.jpg"

但是,我猜测标准分析器只是删除了点。

我想要它的完整关键字,我在_mapping中没有看到。

我想要实际的"bob4322_35_223.jpg" ...看起来像standard_analyzer会摆脱“。”有时甚至不会正确分析“ - ”(有时数组缺少部分短划线,例如bob-45-joe-44-amy-12.jpg变为[12, "jpg"]

有没有办法在进行此查询时禁用分析器?我在标记化版本中不需要它。你是怎么做到的?

我不想将数据重新添加为关键字或类似的东西。我不知道拉入_sourceMap是否有效率呢?

0 个答案:

没有答案