2015-07-06 3 views
0

У меня есть сомнения относительно того, как индексированные свойства работают в Alfresco 4.1.6 с SOLR 1.4.Как работает Alfresco и SOLR с запросами индексов

я использую что-то подобное для моих запросов:

SearchParameters sp = new SearchParameters();  
sp.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE); 
sp.setLanguage(SearchService.LANGUAGE_FTS_ALFRESCO); 
sp.setQuery(query); 
ResultSet results = getSearchService().query(sp); 

где переменная запроса является чем-то вроде этого:

PATH:" /app:company_home/app:user_homes/cm:_x0030_123//*" AND  
((@cm\:title:food) OR (@cm\:name:abcde) OR (TEXT:valles) OR  
(@doc\:custom_property:"report") OR (@doc\:custom_property2:"report") 
AND (@doc\:custom_property3:"report") AND TYPE:"{my.model}voc_document" 

На моем model.xml я указать, какие свойства пользовательских индексируются

<index enabled="true"> 

Мой вопрос ... Как работает SOLR 1.4 с индексами, если я положил на поисковый запрос два или более индексированных свойств? Как Oracle? Oracle использует лучший индекс и использует только это. Или, может быть, SOLR объединяет все индексированные свойства и использует весь индекс в запросе?

Мне нужен этот ответ, чтобы определить, сколько индексов помещено на мой model.xml. Возможно, множество индексов не дают мне лучший и эффективный результат и лучше индексируют только несколько свойств.

И наконец, один вопрос. Я использую LANGUAGE_FTS_ALFRESCO, но я вижу, что существует LANGUAGE_SOLR_FTS_ALFRESCO. Та же? Мне нужно использовать второй, если я использую SOLR?

Большое спасибо!

С уважением

ответ

1

Существует только один «указатель». Каждое поле, которое вы отмечаете как индексируемое (которое включено по умолчанию), попадает в ваш индекс solr. Alfresco берет ваш запрос и отправляет его в SOLR для обработки.

Если у вас нет большого количества документов, вы можете продолжить и индексировать каждое поле. На первый взгляд наибольшее влияние на индексацию и поиск - это полный текстовый индекс поля содержимого, который также включен по умолчанию.

LANGUAGE_FTS_ALFRESCO будет использовать любую подсистему индекса, которую вы включили. В более поздних версиях он может использовать SOLR или базу данных в зависимости от вашей конфигурации. Если вы попытаетесь подключиться к LANGUAGE_SOLR_FTS_ALFRESCO, он заставляет SOLR, поэтому, если у вас нет разрешения solr, у вас будет ошибка.

С уважением!

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