elastic search

https://es.yemengying.com/5/5.3/5.3.1.html

search

BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
		QueryStringQueryBuilder queryString = null;
		for(String item : fields){
			queryString = new QueryStringQueryBuilder(searchStr);
			queryString.field(item);
			boolQueryBuilder.should(queryString);
		}
		NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder()
				.withQuery(boolQueryBuilder);

		SearchQuery searchQuery = queryBuilder
				.withSort(
						SortBuilders.fieldSort("updatedAt").order(
								SortOrder.DESC)).withPageable(pageable).build();

		FacetedPage<Picture> page = pictureRepository.search(searchQuery);

save

		if (p.getInuse() != null && p.getInuse().equals(Shelf.on.getValue())
				&& p.getExamineStatus() != null && p.getExamineStatus().equals(
						CommEnum.EXAMINE_STATUS.ALREADY.getKey())
				&& p.getStatus() != null && p.getStatus().equals(Picture.STATUS_YES)) {
			p.setPnamepinyin(Pinyin4jUtil.converterToSpell(p.getPname()));
			p.setPnamepinyinshort(Pinyin4jUtil.converterToFirstSpell(p
					.getPname()));
			if (p.getLabelIds() != null) {
				p.setLabelpinyin(Pinyin4jUtil.converterToSpell(p.getLabelIds()));
				p.setLabelpinyinshort(Pinyin4jUtil.converterToFirstSpell(p
						.getLabelIds()));
			}
			pictureRepository.save(p);
		}

配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:elasticsearch="http://www.springframework.org/schema/data/elasticsearch"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/data/elasticsearch
http://www.springframework.org/schema/data/elasticsearch/spring-elasticsearch-1.0.xsd">

<!--  	<elasticsearch:node-client id="client" local="true"/> -->

    <elasticsearch:transport-client id="client" cluster-name="${elasticsearch.clusterName}" cluster-nodes="${elasticsearch.clusterNodes}"/>

    <bean name="elasticsearchTemplate" class="org.springframework.data.elasticsearch.core.ElasticsearchTemplate">
        <constructor-arg name="client" ref="client"/>
    </bean>

    <elasticsearch:repositories base-package="cn.elasticsearch.repository" />

</beans>

猜你喜欢

转载自gutou9.iteye.com/blog/2395665