搜索條件
通配符搜索:WildcardQuery 屬于通配符搜索扒最,這里不會(huì)對(duì)搜索的關(guān)鍵字進(jìn)行分詞华嘹,如果把榮
耀改成“榮耀全網(wǎng)通”就搜不到數(shù)據(jù)了。
匹配搜索:matchQuery 會(huì)對(duì)搜索的關(guān)鍵字進(jìn)行分詞强挫,之后將根據(jù)分詞進(jìn)行搜索薛躬,只要符合
其中一個(gè)分詞的記錄都能被搜索到。也就是分出的詞之間的搜索關(guān)系是 或者 的
關(guān)系型宝。
復(fù)制域搜索: QueryBuilders.multiMatchQuery, TbItem.java 類中侦鹏;可以通過(guò)設(shè)置@Field 中的 copyTo 屬性來(lái)將對(duì)應(yīng)屬性的值復(fù)制
到一個(gè)域中臀叙。該域可以不進(jìn)行映射价卤。復(fù)制域可以接收多個(gè)屬性的值復(fù)制到其中;
這樣做的好處是:
? 只要搜索一個(gè)域就可以搜索到其它幾個(gè)域的內(nèi)容床嫌;
? 也提高了搜索效率胸私,復(fù)制域并不是越多越好,它需要復(fù)制數(shù)據(jù)岁疼,導(dǎo)致一樣的
數(shù)據(jù)會(huì)存在索引庫(kù)中增大索引量
嵌套域: 搜索:QueryBuilders.nestedQuery用戶點(diǎn)擊的是 4.0-4.9 英寸;需要檢索的域是:顯示屏尺寸瑰排,搜索的值為:4.0-4.9 英寸
搜索條件拼接 boolQueryBuilder.must()暖侨。
搜索方法
builder.withQuery基本搜索 builder.withFilter過(guò)濾查詢 兩個(gè)功能相同椭住。
<!-指定 jdk版本 -->
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
編寫引導(dǎo)類Application.java
**
* 如果是spring boot工程則必須在啟動(dòng)引導(dǎo)類上添加
* SpringBootApplication 是一個(gè)組合注解
* 組合了ComponentScan 會(huì)掃描當(dāng)前包和其子包下的spring 注解
*/
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
/*SpringApplication springApplication = new SpringApplication(Application.class);
springApplication.setBannerMode(Banner.Mode.OFF);
springApplication.run(args);*/
}
}