elasticsearch - Elasticsearch Java HighLevelRestClient如何创建not_analyzed索引?

标签 elasticsearch elasticsearch-rest-client

我正在使用HighLevelRestClient 7.4.0,并且很好奇在使用Index API为文档建立索引时如何创建not_analyzed字段。

问题是我正在尝试按标题实现电影搜索,如果我搜索“矩阵”,它将返回正确的结果,但是如果我搜索“矩阵”,它将返回几乎所有电影中带有“the”的电影。标题(matchQuery就是这种情况)。

我改为使用termQuery,但是现在当我搜索“矩阵”时,它会返回正确的结果,而当我搜索“矩阵”时,它找不到任何东西,“矩阵”也是如此。

我猜问题是在索引文档时,默认情况下会分析每个文本字段。如何创建not_analyzed索引?

现在,我通过使用GSON将数据结构简单地转换为Json来索引电影。

最佳答案

为了正确执行搜索,我不得不使用matchPhraseQuery而不是matchQuery或termQuery。

关于elasticsearch - Elasticsearch Java HighLevelRestClient如何创建not_analyzed索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58556413/

相关文章:

python - 在 python 请求中使用转义引号查询 Elasticsearch

json - 从 JSON 中提取时间戳并将其用作 logstash 事件时间戳

java - RestHighlevelClient切片滚动不起作用

java - 如何在 Elasticsearch Java 高级客户端 6.8 的响应中只获取失败的文档

java - 使用ES Java API v7.x编写elasticsearch过滤器搜索

elasticsearch - `terms` 聚合的条件

elasticsearch - 我应该在模糊查询字段中包含空格吗?

c# - ElasticSearch Nest Aggregation添加其他字段

java - 使用RestClient从Scala中的Elasticsearch删除文档