2017-01-23 12 views
0

Мне было интересно, предпочитает ли логика выбора индекса локальные над глобальными определениями индексов для тех же путей репозитория. К сожалению, я не могу найти какие-либо документы о том, как работает алгоритм выбора индекса. Для того, чтобы прояснить ситуацию, рассмотрим следующие примеры:Обосновывает ли логика выбора индекса локальный глобальный индекс в OAK Apache?

Глобальное определение "myIndex"

/oak:index/myIndex 
    - jcr:primaryType = "oak:QueryIndexDefinition" 
    - compatVersion = 2 
    - type = "lucene" 
    - async = "async" 
    - evaluatePathRestrictions = true 
    - queryPaths="[/content]" 
    - includePaths="[/content]" 
    + indexRules 
    - jcr:primaryType = "nt:unstructured" 
    + nt:unstructured 
     + properties 
     - jcr:primaryType = "nt:unstructured" 
     + code 
      - jcr:primaryType = "nt:unstructured" 
      - propertyIndex = true 
      - name = "myprop" 

Локальное определение "myIndex"

/content/oak:index/myIndex 
    - jcr:primaryType = "oak:QueryIndexDefinition" 
    - compatVersion = 2 
    - type = "lucene" 
    - async = "async" 
    - evaluatePathRestrictions = true 
    + indexRules 
    - jcr:primaryType = "nt:unstructured" 
    + nt:unstructured 
     + properties 
     - jcr:primaryType = "nt:unstructured" 
     + code 
      - jcr:primaryType = "nt:unstructured" 
      - propertyIndex = true 
      - name = "myprop" 

ответ

2

логика выбора индекса вычисляет стоимость запроса по всем индексам (локальная и глобальная). Для запроса используется первый самый дешевый индекс в индексе оценочного заказа. Вы можете увидеть это с помощью инструментов отладки индекса в AEM.

 Смежные вопросы

  • Нет связанных вопросов^_^