spring data mongo模糊搜索

使用正則

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

使用full text search

3.2版本才支持中文this

@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());
    }
相關文章
相關標籤/搜索