这是我现在的做法:
..
.setQuery(
filteredQuery(
multiMatchQuery(String.format("*%s*", query), "name", "address", "phone")
.type(MultiMatchQueryBuilder.Type.CROSS_FIELDS),
geoDistanceFilter("location")
.distance(radius, DistanceUnit.KILOMETERS)
.geoDistance(GeoDistance.PLANE)
.point(latitude, longitude)
)
)
..
问题是它不搜索部分短语或部分单词..即使使用通配符..
我发现matchPhraseQuery
了,但它似乎只适用于一个字段。有没有其他方法可以实现这种搜索?