Когда вы включаете позиции, мы сохраняем вектор позиций для каждого документа в индексе для соответствующего термина, а не просто идентификатор документа.
Способ обдумать это с точки зрения специфики конечных запросов и работы, связанной с их вычислением и пересечением промежуточных результатов.
Когда вы видите запрос-термин в запросеplan, это означает, что он просто просматривает идентификаторы документов, поэтому нет сведений об относительном позиционировании - менее точный результат для длинной фразы, подобной этой, потому что «слово элемента» и «позиция слова» могут встречаться в двух отдельныхродительские элементы в документе.Если ваши данные содержат только один элемент с этим именем в каждом документе, это не может произойти, хотя у вас все еще могут быть ложные совпадения, когда подфразы из двух слов встречаются, скажем, в обратном порядке или разделены другими словами.
Когда вы видите запрос слова в плане запроса, это означает, что мы будем смотреть на позиции, и здесь вы видите относительные позиции для каждого из слов в фразе.Когда это решено, мы исследуем вектор позиций и отбрасываем те, которые не означают это позиционное ограничение.Таким образом, все совпадения будут иметь следующую последовательность слов в следующем порядке: более точное совпадение.
Элемент-запрос в плане также применяет позиционные ограничения экземпляров элемента относительно совпадений внутри элемента.Существуют оптимизации, в которых позиционные ограничения элементов фактически выталкиваются вниз к листьям дерева запросов, чтобы избежать лишних промежуточных вычислений.
Вы также видите некоторые технически избыточные запросы на запросы терминов: цель этого состоит в том, чтобы выполнять простой поиск терминовкоторые, вероятно, более ограничены, чем запросы листьев.Поскольку пересечение списков терминов из запроса and-всегда происходит из кратчайшего соответствующего списка публикаций, это может обеспечить механизм быстрого отказа, чтобы избежать вычисления более дорогих позиций.В этом есть определенное количество эвристических суждений, и, учитывая сложный набор параметров индекса и вариантов запросов, иногда эти дополнительные термины фактически не помогают.