我是弹性和弹簧数据弹性的新手。我一直在这里和网络的其他领域寻找,但到目前为止一直无法找到我的问题的答案。我希望SO可以提供帮助。如何用弹簧数据弹性查询弹性
我索引从我Users
表(名字,姓氏)一些记录,我希望能够让高级搜索。例如,如果我有'Frances'这个名字,并且输入'Frank',那么这个系统足够聪明,可以返回记录。同为“臣”和“Robinsen”等
我设置我的POJO是以下几点:
Public Users {
@Field(fieldType = FieldType.String)
private String firstName;
@Field(fieldType = FieldType.String)
private String lastName
// mutators
...
}
目前我使用的是弹簧数据弹性ElasticRepository
做我的搜索,如果我准备进行高级搜索,我相信这可能会改变。一种选择是直接在UserService
中使用EntityManager
或Template
,但我不确定如何去做。
正如我所描述的问题,这是一个索引问题或搜索问题或可能两者?我不是在寻找任何人来完成这项工作,只是为了让我指向正确的方向。
谢谢!
你吃过看看http://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#elasticsearch.query-methods? 顺便说一句,EntityManager是JPA的概念,而不是elasticsearch,所以在这个方向上搜索没有意义。 – GPI
你是对的,这是一个JPA的概念,所以它不适合这里。我已阅读您链接到的文档,但我仍然不知道如何设置它以允许模糊逻辑。这是一个查询问题吗?索引问题?我是否需要更改我的域名实体? – Dan
快速搜索不提供从方法名称生成自动*模糊*查询的方法,但您始终可以使用[基于条件](http://docs.spring.io/spring-data/elasticsearch/docs /current/api/org/springframework/data/elasticsearch/core/query/Criteria.html#fuzzy-java.lang.String-)ones或[hand written](http://docs.spring.io/spring-data /elasticsearch/docs/current/reference/html/#elasticsearch.query-methods.at-query)。 – GPI