2012-07-24 12 views
5

Moje przypadek użycia jest to, że obiekty treści mogą być ważone tagi:wyszukiwania i indeksowania ważone tagi/kategoria oceny, najlepiej w katalogu Plone

  • ArticleA: Java 5, MySQL 3, php 1
  • ArticleB: Crypto 3, MySQL 2
  • ArticleC: Plone 5, 1 sieci, bezpieczeństwa 4, zwinny 1
  • Artykularny: plone4, MySQL3, php 3 ...

Lista znaczników jest rozszerzalna przez użytkownika, zakres wartości jest ustalony np. 1 - 5

Teraz: jak mogę mogę odpowiedzieć na następujące pytania (najlepiej przy użyciu portal_catalog):

  • pokazać wszystkie artykuły, które są oznaczone z java> 2 i MySQL> 3
  • co jest średnią wartość dla MySQL
  • jaki jest artykuł o najwyższym rankingu?
  • pokazać wszystkie artykuły, które zawierają „foobar” a są o Plone

Możliwe rozwiązania, które przychodzą mi do głowy lub zostały zaproponowane do tej pory to:

  • przejdź SQL
  • utworzyć dodatkowy „Ocena "typy zawartości, które są indeksowane w katalogu sperate (podobnie jak odniesienia )
  • kodują ocenę na" java3 "," java4 "," java5 ", przyklejają je do KeywordIndex i sprawdzają, czy[: Tak, między ('Temat', 'plone3', 'plone5') działa aktualizacja]
  • napisać niestandardowy PluginIndex

Myślę jednak, że inni mieli to samo zadanie przedAdvancedQuery można je wyszukiwać. Jakieś pomysły, jak (najlepiej) iść naprzód w tej sprawie?

Odpowiedz

1

Ten problem nie może zostać rozwiązany za pomocą Plone out-of-the-box. Możliwe jest poszukiwanie różnych aspektów za pomocą różnych wyszukiwań, a niektóre filtrowanie i agregacja po stronie aplikacji za pomocą niestandardowego kodowania ... może być trudne i nieskuteczne. Możesz zajrzeć do integracji SOLR z Plone (collective.solr). SOLR powinien obsługiwać większość funkcjonalności po wyjęciu z pudełka. Szczególnie fasetowane wyszukiwanie jest wbudowaną funkcją SOLR, którą otrzymujesz za darmo. Jednak SOLR to kolejna cegła w twojej instalacji i może być przewymiarowana dla mniejszych witryn. Dodatkowo integracja SOLR i receptura SOLR buildout zawsze wydawały się nieco kruche.

+0

dzięki za poradę. SOLR prawdopodobnie nie byłby możliwy do wdrożenia na stronie klienta. Może SQL? – jhb

+0

Nie ma warstwy integracji SQL, aby to zrobić w produkcji –