Для Запрос общих условий
Низкочастотные слова
- Более важно
- Вы можете построить запрос квернуть документы, в которых все слова строки запроса
must be present
(использовать "low_freq_operator": "and"
) only some of them
(использоватьиз "low_freq_operator": "or"
some percentage of them
(используйте minimum_should_match
)
Высокочастотные слова
- Менее важно.
- Вы можете создать запрос к
influence the score
, в котором все стоп-слова в строке запроса must be considered
(используйте "high_freq_operator": "and"
) only some of them
(используйте "high_freq_operator": "or"
) some percentage of them
(используйте minimum_should_match
)
- влияет только на оценку релевантности.
- Если низкочастотных слов не существует, то это типичное предложение
should
всех терминов в строке запроса
Как классифицировать слова как менее частые или более частые
Согласно LINK ,
Термины распределяются по группам высоких или низких частот на основе cutoff_frequency, которая может быть указана как абсолютная частота (> = 1) или как относительная частота (0,0 .. 1,0) ....
Возможно, наиболее интересным свойством этого запроса является то, что он автоматически адаптируется к специфическим для домена стоп-словам.Например, на сайте видеохостинга общие термины, такие как «клип» или «видео», будут автоматически работать как стоп-слова без необходимости вести список вручную.
Как это работает с примером
Из этого LINK ,
Запрос общих терминов is a modern alternative to stopwords which improves the precision and recall of search results
(с учетом стоп-слов), без ущерба для производительности.
Допустим, у меня есть документы ниже:
Document 1: Is there stairway to this path?
Document 2: Is there a stairway to heaven?
Document 3: Stairway to heaven
.....
.....
Теперь скажите, что ваш поисковый запрос выглядит следующим образом:
{
"query": {
"common": {
"body": {
"query": "stairway to heaven",
"cutoff_frequency": 0.001,
"low_freq_operator": "and"
}
}
}
}
При использовании and
результат будет только Document 3 followed by Document 2
.И когда вы используете or
, результат будет Document 3, Document 2, Document 1
соответственно.
Поэтому, когда вы используете or
, высокочастотное слово, то есть to
, будет использоваться здесь, чтобы влиять на оценку.Аналогичным образом high_freq_operator
будет применяться для стоп-слов, однако он снова будет использоваться только для влияния на оценку.
Итак, для вашего первого запроса, надеюсь, что приведенного выше объяснения будет достаточно, а для следующего запроса:
Означает ли это, что если в запросе 4 низкочастотных слова, документ с 2 изони будут возвращены как попадание, но документ только с одним из слов запроса не будет возвращен, верно?
Да, это правильно.
Надеюсьпомогает!