spring data mongo模糊搜索

使用正则

/**
     * 3.2版本之前不支持full text search,只能这样正则模糊查找
     * @param key
     * @return
     */
    Page<Article> findByContentLike(String key,Pageable pageable);

使用full text search

3.2版本才支持中文

@Document
public class Article {

    @Id
    private String id;

    /**
     * 全文检索
     */
    @TextIndexed
    private String content;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }
}

TextCriteria

Page<Article> findBy(TextCriteria criteria, Pageable page);
@Test
    public void testFullTextSearch(){
        TextCriteria textCriteria = TextCriteria.forLanguage("hans")
           .matchingAny("技术");
        Page<Article> page = articleDao.findBy(textCriteria,new PageRequest(0,10));
        System.out.println(page.getTotalElements());
    }
    原文作者:codecraft
    原文地址: https://segmentfault.com/a/1190000007207798
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞