我正在尝试使用弹性搜索进行全文搜索和使用 Spring 数据将弹性搜索与我的应用程序集成。
例如,
有 6 个字段需要索引。
1) 名字 2) 姓氏 3) 职务 4) 位置 5) 行业 6) 电子邮件
http://localhost:9200/test/_mapping/
我可以在映射中看到这些字段。
现在,我想使用搜索输入对这些字段进行搜索。
例如,当我搜索“mike 123”时,它必须搜索所有这 6 个字段。
在 Spring 数据存储库中,
以下方法仅适用于在 firstName 中搜索。
Collection<Object> findByFirstNameLike(String searchInput)
但是,我想搜索所有字段。
我试过了,
Collection<Object> findByFirstNameLikeOrLastNameLikeOrTitleLikeOrLocationLikeOrIndustryLikeOrEmailLike(String searchInput,String searchInput1,String searchInput2,String searchInput3,)
在这里,即使输入字符串相同,我也需要传递与 6 个参数相同的输入。此外,具有多个字段的方法名称看起来更大。
无论如何,使用@Query 或 ....
喜欢,
Collection<Object> findByInput(String inputString)
此外,应该为其中一个领域提供提升。
例如,
当我搜索“mike mat”时,如果名字中有任何匹配项,即使其他字段完全匹配,那也应该是结果中的第一个。
谢谢