使用正则

/**
     * 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
11.9k 声望2k 粉丝

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很自豪告诉世人,我曾经将代码注入生命去打造互联网的浪潮之巅,那是个很疯狂的时代,我在一波波的浪潮上留下...