Czy to możliwe, aby zapytać jak tominimalna powinna odpowiadać na przefiltrowanej zapytania
"query": {
"filtered": {
"filter": {
"terms": {
"names": [
"Anna",
"Mark",
"Joe"
],
"execution" : "and"
}
}
}
}
ze stwierdzeniem "minimum_should_match": "2"
?
Wiem, że mogę użyć prostego zapytania (próbowałem, to działa), ale nie potrzebuję obliczać wyniku. Moim celem jest filtrowanie dokumentów zawierających 2 wartości.
Czy wynik ma duży wpływ na czas potrzebny na pobranie dokumentu?
Korzystanie z tej kwerendy:
"query": {
"filtered": {
"filter": {
"terms": {
"names": [
"Anna",
"Mark",
"Joe"
],
"execution" : "and",
"minimum_should_match": "2"
}
}
}
}
mam ten błąd:
QueryParsingException[[my_db] [terms] filter does not support [minimum_should_match]]
Jeśli rozumiem Twoje pytanie, szukasz wszystkich dokumentów z "Anną", "Znakiem" i "Joe" w polu imion, podaruj lub podejmij 10% podobieństwa? Co się stanie, jeśli będziemy mieć dłuższe nazwy, takie jak 'Catherine' i' Wilhelmina', które pasują dokładnie, a nazwisko "Joe" zostanie odrzucone całkowicie z powodu 10%? – IanGabes
Przepraszam, może moje pytanie nie było tak jednoznaczne :) Użyłem 90%, aby określić podzbiór listy. Edytuję z 2. Oznacza to, że dokument z Anną, Markiem i Catherine musi być dopasowany. Nie można dopasować dokumentu z Anną, Katarzyną i Wilheliminą. Głównym problemem jest to, że jeśli użyję minimum, które powinno pasować do przefiltrowanego zapytania, dostaję "QueryParsingException [[my_db] [terms] filtr nie obsługuje [minimum_should_match]]; ' – betto86