{
"filters": {
"address": "london baker street 221bsdfsdf"
}
Мы получаем все документы, содержащие «Лондон Бейкер-стрит, 221b». Как сделать так, чтобы запрос такого типа не возвращал документы, так как «лондон Бейкер Стрит 221bsdfsdf» — неверный адрес? Вот блок кода из API:
if (requestFilters.address() != null) {
boolQueryBuilder.must(
new Query.Builder().nested(
new NestedQuery.Builder()
.path("address")
.query(
queryForMatchField(
List.of(
"address.city",
"address.street",
"address.building",
"address.room"),
requestFilters.address()
)
)
.build()
).build()
);
private Query queryForMatchField(List fieldNames, String value) {
return new Query.Builder().multiMatch(
new MultiMatchQuery.Builder()
.fields(fieldNames)
.query(value)
.fuzziness("AUTO")
.zeroTermsQuery(ZeroTermsQuery.All)
.build()
).build();
}
Как я могу гарантировать, что при запросе «адреса»: «Лондон Бейкер Стрит 221b» документы с «Лондон Бэйкер Стрит 221» или "Лондон Бейкер-стрит, 221а" не возвращены?
[/list] Когда я отправляю запрос с телом запроса через API следующим образом: [code]{ "filters": { "address": "london baker street 221bsdfsdf" } [/code]
Мы получаем все документы, содержащие «Лондон Бейкер-стрит, 221b». Как сделать так, чтобы запрос такого типа не возвращал документы, так как «лондон Бейкер Стрит 221bsdfsdf» — неверный адрес? Вот блок кода из API: [code]if (requestFilters.address() != null) { boolQueryBuilder.must( new Query.Builder().nested( new NestedQuery.Builder() .path("address") .query( queryForMatchField( List.of( "address.city", "address.street", "address.building", "address.room"), requestFilters.address() ) ) .build() ).build() );
private Query queryForMatchField(List fieldNames, String value) { return new Query.Builder().multiMatch( new MultiMatchQuery.Builder() .fields(fieldNames) .query(value) .fuzziness("AUTO") .zeroTermsQuery(ZeroTermsQuery.All) .build() ).build(); } [/code] [list] [*]Как я могу гарантировать, что при запросе «адреса»: «Лондон Бейкер Стрит 221b» документы с «Лондон Бэйкер Стрит 221» или "Лондон Бейкер-стрит, 221а" не возвращены? [/list]