|
@@ -1,6 +1,7 @@
|
|
package cn.cslg.pas.factorys.EsBuilderFactory;
|
|
package cn.cslg.pas.factorys.EsBuilderFactory;
|
|
|
|
|
|
import co.elastic.clients.elasticsearch._types.query_dsl.Query;
|
|
import co.elastic.clients.elasticsearch._types.query_dsl.Query;
|
|
|
|
+import co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.text.ParseException;
|
|
import java.text.ParseException;
|
|
@@ -14,7 +15,13 @@ public class MatchPhaseQueryBuilder implements IQueryBuilder{
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Query creteQuery() throws ParseException {
|
|
public Query creteQuery() throws ParseException {
|
|
- return null;
|
|
|
|
|
|
+ Query query = null;
|
|
|
|
+ if (value.contains(" ")) {
|
|
|
|
+ query = QueryBuilders.matchPhrase(i -> i.field(field).query(value));
|
|
|
|
+ } else {
|
|
|
|
+ query = QueryBuilders.matchPhrase(i -> i.field(field).query(value).slop(2));
|
|
|
|
+ }
|
|
|
|
+ return query;
|
|
}
|
|
}
|
|
|
|
|
|
public String getField() {
|
|
public String getField() {
|