所以我的弹性搜索索引中有一个这样的字段:
"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是否有效率呢?