如何从包含特殊字符的elasticsearch中检索数据,如
. -
…使用spring数据?
我的文档定义如下:
@Document(indexName = "audit-2018.135", type = "audit")
public class Trace {
@Id
private String id;
@Field(type = FieldType.Text)
private String uri;
// setters & getters
}
我需要按字段从ElasticSearch检索数据
尿嘧啶尿路感染
.
下面是一个数据的外观示例:
martin int vip.vs.cz:5080/kib/api/runtime/case/case000000000034223
使用Kibana时,我可以使用:
uri:“马丁国际贵宾vs.cz:5080/kib”
我得到了上面包含所需子字符串的记录。
现在,我需要从Java中实现同样的结果,但是在Spring数据中它并不像预期的那样工作。
我的elasticsearchrepository定义如下:
public interface TraceRepository extends ElasticsearchRepository<Trace, String> {
List<Trace> findByUriContaining(String uri);
}
当我调用方法时
发现Yuricontaining
带参数
尿嘧啶尿路感染
AS:
马丁国际贵宾vs.cz:5080\/kib
甚至这个
马丁特
我得到0个结果。当我发送“kib”作为参数时,它会正确地返回包含单词“kib”的所有记录,但是它不能处理像这样的特殊字符。我应该如何从Java查询我的弹性搜索来获取包含我想要的子串的所有记录?谢谢