[Erp5-report] r43801 ivan - in /erp5/trunk/bt5/erp5_km_sphinx_full_text_search: ./ SkinTemp...
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Feb 28 13:05:37 CET 2011
Author: ivan
Date: Mon Feb 28 13:05:36 2011
New Revision: 43801
URL: http://svn.erp5.org?rev=43801&view=rev
Log:
Initial import.
Added:
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search.xml
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/Base_redirectToPersonByReference.xml
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/WebSite_getFullTextSearchResultList.xml
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/WebSite_getWebSectionPredicateMapAndUidList.xml
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/WebSite_zGetAdvancedSearchResultList.xml
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/change_log
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/dependency_list
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/description
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/revision
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/template_format_version
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/template_skin_id_list
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/title
erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/version
Added: erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search.xml?rev=43801&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search.xml (added)
+++ erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search.xml [utf8] Mon Feb 28 13:05:36 2011
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<ZopeData>
+ <record id="1" aka="AAAAAAAAAAE=">
+ <pickle>
+ <global name="Folder" module="OFS.Folder"/>
+ </pickle>
+ <pickle>
+ <dictionary>
+ <item>
+ <key> <string>_objects</string> </key>
+ <value>
+ <tuple/>
+ </value>
+ </item>
+ <item>
+ <key> <string>id</string> </key>
+ <value> <string>erp5_km_sphinx_full_text_search</string> </value>
+ </item>
+ <item>
+ <key> <string>title</string> </key>
+ <value> <string></string> </value>
+ </item>
+ </dictionary>
+ </pickle>
+ </record>
+</ZopeData>
Added: erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/Base_redirectToPersonByReference.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/Base_redirectToPersonByReference.xml?rev=43801&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/Base_redirectToPersonByReference.xml (added)
+++ erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/Base_redirectToPersonByReference.xml [utf8] Mon Feb 28 13:05:36 2011
@@ -0,0 +1,84 @@
+<?xml version="1.0"?>
+<ZopeData>
+ <record id="1" aka="AAAAAAAAAAE=">
+ <pickle>
+ <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+ </pickle>
+ <pickle>
+ <dictionary>
+ <item>
+ <key> <string>Script_magic</string> </key>
+ <value> <int>3</int> </value>
+ </item>
+ <item>
+ <key> <string>_bind_names</string> </key>
+ <value>
+ <object>
+ <klass>
+ <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+ </klass>
+ <tuple/>
+ <state>
+ <dictionary>
+ <item>
+ <key> <string>_asgns</string> </key>
+ <value>
+ <dictionary>
+ <item>
+ <key> <string>name_container</string> </key>
+ <value> <string>container</string> </value>
+ </item>
+ <item>
+ <key> <string>name_context</string> </key>
+ <value> <string>context</string> </value>
+ </item>
+ <item>
+ <key> <string>name_m_self</string> </key>
+ <value> <string>script</string> </value>
+ </item>
+ <item>
+ <key> <string>name_subpath</string> </key>
+ <value> <string>traverse_subpath</string> </value>
+ </item>
+ </dictionary>
+ </value>
+ </item>
+ </dictionary>
+ </state>
+ </object>
+ </value>
+ </item>
+ <item>
+ <key> <string>_body</string> </key>
+ <value> <string>"""\n
+ This script will redirect (HTTP redirect) to respective ERP5 Person object by reference.\n
+ This script is used in "NO ZODB" approach mode although it can be used in other UI parts\n
+ as well.\n
+"""\n
+person = context.ERP5Site_getAuthenticatedMemberPersonValue(reference)\n
+if person is not None:\n
+ person.Base_redirect(form_id=\'view\')\n
+else:\n
+ # logged in user (or anonymous) can\'t access or no such user exists\n
+ context.Base_redirect(\n
+ form_id = \'view\',\n
+ keep_items = {\'portal_status_message\': \n
+ context.Base_translateString(\'You can not access person object.\')})\n
+</string> </value>
+ </item>
+ <item>
+ <key> <string>_params</string> </key>
+ <value> <string>reference</string> </value>
+ </item>
+ <item>
+ <key> <string>id</string> </key>
+ <value> <string>Base_redirectToPersonByReference</string> </value>
+ </item>
+ <item>
+ <key> <string>title</string> </key>
+ <value> <string></string> </value>
+ </item>
+ </dictionary>
+ </pickle>
+ </record>
+</ZopeData>
Added: erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/WebSite_getFullTextSearchResultList.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/WebSite_getFullTextSearchResultList.xml?rev=43801&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/WebSite_getFullTextSearchResultList.xml (added)
+++ erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/WebSite_getFullTextSearchResultList.xml [utf8] Mon Feb 28 13:05:36 2011
@@ -0,0 +1,150 @@
+<?xml version="1.0"?>
+<ZopeData>
+ <record id="1" aka="AAAAAAAAAAE=">
+ <pickle>
+ <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+ </pickle>
+ <pickle>
+ <dictionary>
+ <item>
+ <key> <string>Script_magic</string> </key>
+ <value> <int>3</int> </value>
+ </item>
+ <item>
+ <key> <string>_bind_names</string> </key>
+ <value>
+ <object>
+ <klass>
+ <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+ </klass>
+ <tuple/>
+ <state>
+ <dictionary>
+ <item>
+ <key> <string>_asgns</string> </key>
+ <value>
+ <dictionary>
+ <item>
+ <key> <string>name_container</string> </key>
+ <value> <string>container</string> </value>
+ </item>
+ <item>
+ <key> <string>name_context</string> </key>
+ <value> <string>context</string> </value>
+ </item>
+ <item>
+ <key> <string>name_m_self</string> </key>
+ <value> <string>script</string> </value>
+ </item>
+ <item>
+ <key> <string>name_subpath</string> </key>
+ <value> <string>traverse_subpath</string> </value>
+ </item>
+ </dictionary>
+ </value>
+ </item>
+ </dictionary>
+ </state>
+ </object>
+ </value>
+ </item>
+ <item>
+ <key> <string>_body</string> </key>
+ <value> <string>"""\n
+ Return the result list of all documents found by specified agruments.\n
+ Include an optimisation for \'search\' mode which returns all documents info like \n
+ (reference, state, web sections ...) without getting a ZODB object (i.e. get everything from \n
+ MySQL - "No ZODB" approach).\n
+"""\n
+from Products.ERP5Type.Document import newTempBase\n
+\n
+request = context.REQUEST\n
+portal = context.getPortalObject()\n
+web_site = context.getWebSiteValue()\n
+\n
+selection = kw.get(\'selection\', {})\n
+list_style = kw.get(\'list_style\', \\\n
+ selection.get(\'list_style\', request.get(\'list_style\', \'table\')))\n
+\n
+search_text = kw[\'search_text\']\n
+parsed_dict = context.Base_parseSearchString(search_text)\n
+search_string = parsed_dict[\'searchabletext\']\n
+\n
+if list_style != \'search\':\n
+ return context.portal_catalog(**kw)\n
+else:\n
+ # search mode requires optimization, use catalog to get more data from it\n
+ result_list = []\n
+ result_set_dict_list = [] \n
+ repeating_uid_category_map = {}\n
+ portal_types = portal.portal_types\n
+\n
+ # get Web Site predicate info\n
+ category_section_map, base_category_uid_list = web_site.WebSite_getWebSectionPredicateMapAndUidList()\n
+\n
+ # XXX: using catalog API instead of script should be researched as a more maintainable alternative\n
+ found_result_list = web_site.WebSite_zGetAdvancedSearchResultList(\n
+ base_category_uid_list = base_category_uid_list,\n
+ search_string = search_string,\n
+ is_full_text_search_on = 1,\n
+ use_text_excerpts = 1,\n
+ kw = kw)\n
+ for line in found_result_list:\n
+ uid = line[\'uid\']\n
+ if uid not in repeating_uid_category_map.keys():\n
+ # first time \n
+ repeating_uid_category_map[uid] = []\n
+ category_relative_url = line[\'category_relative_url\']\n
+ if category_relative_url is not None:\n
+ # exactly matches, document("group/nexedi") belongs to section("group/nexedi")\n
+ sections = category_section_map.get(category_relative_url, []) \n
+ if not len(sections):\n
+ # try to find by similarity if no exact match so if document belongs to \'group/nexedi/hq\'\n
+ # and we have a section \'group/nexedi\' it will belong to this section\n
+ for key,value in category_section_map.items():\n
+ if category_relative_url.startswith(key):\n
+ sections.extend(value)\n
+ repeating_uid_category_map[uid].extend(sections)\n
+ # turn into a relative URL\n
+ path = line[\'path\'].replace(\'/%s/\' %portal.getId(), \'\')\n
+ result_set_dict_list.append({\'uid\': uid,\n
+ \'object_portal_type\': line[\'portal_type\'],\n
+ \'object_icon\': portal_types[line[\'portal_type\']].getIcon(),\n
+ \'path\': path,\n
+ \'title\': line[\'title\'],\n
+ \'text\': getattr(line, \'text\', \'\'),\n
+ \'modification_date\': line[\'modification_date\'],\n
+ \'reference\': line[\'reference\'],\n
+ \'category_relative_url\': line[\'category_relative_url\'],\n
+ \'owner\': line[\'owner\'],\n
+ \'web_site\': web_site.getRelativeUrl()})\n
+ \n
+ # one document can belong to n categories, we need show only one doc\n
+ # and all sections it belongs to\n
+ found_uids = []\n
+ for line in result_set_dict_list:\n
+ uid = line[\'uid\']\n
+ if uid not in found_uids:\n
+ found_uids.append(uid)\n
+ # show only unique sections\n
+ unique_sections = {}\n
+ sections = repeating_uid_category_map[uid]\n
+ for section in sections:\n
+ unique_sections[section[\'uid\']] = section[\'relative_url\']\n
+ line[\'section_list\'] = unique_sections.values()\n
+ result_list.append(line)\n
+ return [newTempBase(portal, x[\'title\'], **x) for x in result_list]\n
+</string> </value>
+ </item>
+ <item>
+ <key> <string>_params</string> </key>
+ <value> <string>**kw</string> </value>
+ </item>
+ <item>
+ <key> <string>id</string> </key>
+ <value> <string>WebSite_getFullTextSearchResultList</string> </value>
+ </item>
+ </dictionary>
+ </pickle>
+ </record>
+</ZopeData>
Added: erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/WebSite_getWebSectionPredicateMapAndUidList.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/WebSite_getWebSectionPredicateMapAndUidList.xml?rev=43801&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/WebSite_getWebSectionPredicateMapAndUidList.xml (added)
+++ erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/WebSite_getWebSectionPredicateMapAndUidList.xml [utf8] Mon Feb 28 13:05:36 2011
@@ -0,0 +1,111 @@
+<?xml version="1.0"?>
+<ZopeData>
+ <record id="1" aka="AAAAAAAAAAE=">
+ <pickle>
+ <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+ </pickle>
+ <pickle>
+ <dictionary>
+ <item>
+ <key> <string>Script_magic</string> </key>
+ <value> <int>3</int> </value>
+ </item>
+ <item>
+ <key> <string>_bind_names</string> </key>
+ <value>
+ <object>
+ <klass>
+ <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+ </klass>
+ <tuple/>
+ <state>
+ <dictionary>
+ <item>
+ <key> <string>_asgns</string> </key>
+ <value>
+ <dictionary>
+ <item>
+ <key> <string>name_container</string> </key>
+ <value> <string>container</string> </value>
+ </item>
+ <item>
+ <key> <string>name_context</string> </key>
+ <value> <string>context</string> </value>
+ </item>
+ <item>
+ <key> <string>name_m_self</string> </key>
+ <value> <string>script</string> </value>
+ </item>
+ <item>
+ <key> <string>name_subpath</string> </key>
+ <value> <string>traverse_subpath</string> </value>
+ </item>
+ </dictionary>
+ </value>
+ </item>
+ </dictionary>
+ </state>
+ </object>
+ </value>
+ </item>
+ <item>
+ <key> <string>_body</string> </key>
+ <value> <string>"""\n
+ Examine Web Site\'s Web Sections and return mapping between sections\' uid and respective\n
+ category used in sections\' predicate.\n
+ This script is used in "No ZODB" approach to get fast search results (including list of \n
+ sections a object belongs to).\n
+"""\n
+from Products.ERP5Type.Cache import CachingMethod\n
+\n
+website = context.getWebSiteValue()\n
+\n
+def getWebSectionList(section):\n
+ result = [{\'uid\': section.getUid(),\n
+ \'relative_url\': section.getRelativeUrl(),\n
+ \'membership_base_category_list\': section.getMembershipCriterionBaseCategoryList(),\n
+ \'multi_membership_base_category_list\': section.getMultimembershipCriterionBaseCategoryList(),\n
+ \'membership_category_list\': section.getMembershipCriterionCategoryList()}]\n
+ for section in section.contentValues(portal_type=\'Web Section\'):\n
+ result.extend(getWebSectionList(section))\n
+ return result\n
+\n
+def getWebSectionPredicateValueList():\n
+ category_map = {}\n
+ base_category_uid_list = []\n
+ portal_categories = context.portal_categories\n
+ for section in getWebSectionList(website):\n
+ # calc category_path : section map \n
+ for category in section[\'membership_category_list\']:\n
+ # remove leading \'follow_up\' from category\n
+ if category.startswith(\'follow_up/\'):\n
+ category = category.replace(\'follow_up/\', \'\', 1)\n
+ if not category_map.has_key(category):\n
+ category_map[category] = []\n
+ category_map[category].append({\'uid\': section[\'uid\'], \'relative_url\':section[\'relative_url\']})\n
+ # get base_categories we care for\n
+ section_category_list = section[\'membership_base_category_list\']+section[\'multi_membership_base_category_list\']\n
+ for category_id in section_category_list:\n
+ category = getattr(portal_categories, category_id, None)\n
+ if category is not None and category.getUid() not in base_category_uid_list:\n
+ base_category_uid_list.append(category.getUid())\n
+ return category_map, base_category_uid_list\n
+\n
+getWebSectionPredicateValueList = CachingMethod(getWebSectionPredicateValueList,\n
+ id = \'WebSite_getWebSectionPredicateMapAndUidList\',\n
+ cache_factory = \'erp5_content_medium\')\n
+return getWebSectionPredicateValueList()\n
+</string> </value>
+ </item>
+ <item>
+ <key> <string>_params</string> </key>
+ <value> <string></string> </value>
+ </item>
+ <item>
+ <key> <string>id</string> </key>
+ <value> <string>WebSite_getWebSectionPredicateMapAndUidList</string> </value>
+ </item>
+ </dictionary>
+ </pickle>
+ </record>
+</ZopeData>
Added: erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/WebSite_zGetAdvancedSearchResultList.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/WebSite_zGetAdvancedSearchResultList.xml?rev=43801&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/WebSite_zGetAdvancedSearchResultList.xml (added)
+++ erp5/trunk/bt5/erp5_km_sphinx_full_text_search/SkinTemplateItem/portal_skins/erp5_km_sphinx_full_text_search/WebSite_zGetAdvancedSearchResultList.xml [utf8] Mon Feb 28 13:05:36 2011
@@ -0,0 +1,157 @@
+<?xml version="1.0"?>
+<ZopeData>
+ <record id="1" aka="AAAAAAAAAAE=">
+ <pickle>
+ <global name="SQL" module="Products.ZSQLMethods.SQL"/>
+ </pickle>
+ <pickle>
+ <dictionary>
+ <item>
+ <key> <string>_Use_Database_Methods_Permission</string> </key>
+ <value>
+ <list>
+ <string>Anonymous</string>
+ <string>Assignee</string>
+ <string>Assignor</string>
+ <string>Associate</string>
+ <string>Auditor</string>
+ <string>Author</string>
+ <string>Manager</string>
+ </list>
+ </value>
+ </item>
+ <item>
+ <key> <string>allow_simple_one_argument_traversal</string> </key>
+ <value>
+ <none/>
+ </value>
+ </item>
+ <item>
+ <key> <string>arguments_src</string> </key>
+ <value> <string>base_category_uid_list\r\n
+kw\r\n
+search_string\r\n
+is_full_text_search_on\r\n
+use_text_excerpts\r\n
+</string> </value>
+ </item>
+ <item>
+ <key> <string>cache_time_</string> </key>
+ <value> <int>0</int> </value>
+ </item>
+ <item>
+ <key> <string>class_file_</string> </key>
+ <value> <string></string> </value>
+ </item>
+ <item>
+ <key> <string>class_name_</string> </key>
+ <value> <string></string> </value>
+ </item>
+ <item>
+ <key> <string>connection_hook</string> </key>
+ <value>
+ <none/>
+ </value>
+ </item>
+ <item>
+ <key> <string>connection_id</string> </key>
+ <value> <string>erp5_sql_connection</string> </value>
+ </item>
+ <item>
+ <key> <string>id</string> </key>
+ <value> <string>WebSite_zGetAdvancedSearchResultList</string> </value>
+ </item>
+ <item>
+ <key> <string>max_cache_</string> </key>
+ <value> <int>100</int> </value>
+ </item>
+ <item>
+ <key> <string>max_rows_</string> </key>
+ <value> <int>1000</int> </value>
+ </item>
+ <item>
+ <key> <string>src</string> </key>
+ <value> <string encoding="cdata"><![CDATA[
+
+<dtml-comment>\n
+ Use SQL method rather that catalog to speed up searching\n
+</dtml-comment>\n
+\n
+<dtml-let query="buildSQLQuery(query=portal_catalog.getSecurityQuery(**kw), **kw)" \n
+ fix="query[\'from_table_list\'].append((\'full_text\',\'full_text\'))">\n
+\n
+SELECT catalog.uid, \n
+ catalog.path, \n
+ catalog.portal_type, \n
+ catalog.title,\n
+ catalog.reference, \n
+ catalog.modification_date,\n
+ catalog.owner,\n
+ <dtml-if is_full_text_search_on> text, </dtml-if>\n
+ category_uid,\n
+ base_category_uid,\n
+ category_relative_url\n
+\n
+FROM catalog,\n
+ (SELECT catalog.uid\n
+ <dtml-if is_full_text_search_on>\n
+ <dtml-if use_text_excerpts>\n
+ /* MySQL server can produc text excerpts */\n
+ , sphinx_snippets(full_text.SearchableText, \'erp5\', \'<dtml-var "search_string">\') as text\n
+ <dtml-else>\n
+ /* Return all searchable text to server which will extract found text excerpts */\n
+ , full_text.SearchableText as text\n
+ </dtml-if>\n
+ </dtml-if>\n
+ <dtml-if "query[\'select_expression\']">\n
+ ,<dtml-var "query[\'select_expression\']">\n
+ </dtml-if>\n
+ FROM\n
+ <dtml-in prefix="table" expr="query[\'from_table_list\']">\n
+ <dtml-if sequence-end>\n
+ <dtml-var table_item> AS <dtml-var table_key>\n
+ <dtml-else>\n
+ <dtml-var table_item> AS <dtml-var table_key>,\n
+ </dtml-if>\n
+ </dtml-in>\n
+ WHERE <dtml-var "query[\'where_expression\']"> AND `catalog`.`uid` = `full_text`.`uid`\n
+\n
+ <dtml-if "query[\'order_by_expression\']"> ORDER BY <dtml-var "query[\'order_by_expression\']"> </dtml-if>\n
+\n
+ <dtml-if "query[\'limit_expression\']"> LIMIT <dtml-var "query[\'limit_expression\']"> \n
+ <dtml-else> LIMIT 1000 </dtml-if>) \n
+\n
+ AS search_results LEFT JOIN \n
+ (SELECT category.uid as join_category_uid, \n
+ category.base_category_uid AS base_category_uid,\n
+ category.category_uid AS category_uid,\n
+ catalog.relative_url as category_relative_url\n
+ FROM category, catalog\n
+ WHERE category.category_strict_membership = 1\n
+ and category.base_category_uid in \n
+ (<dtml-in prefix="loop" expr="base_category_uid_list">\n
+ <dtml-if sequence-end>\n
+ <dtml-sqlvar expr="loop_item" type="int">\n
+ <dtml-else>\n
+ <dtml-sqlvar expr="loop_item" type="int">,\n
+ </dtml-if>\n
+ </dtml-in>)\n
+ and category.category_uid = catalog.uid\n
+\n
+ ) AS join_category\n
+ ON search_results.uid = join_category.join_category_uid\n
+\n
+WHERE search_results.uid = catalog.uid\n
+\n
+</dtml-let>
+
+]]></string> </value>
+ </item>
+ <item>
+ <key> <string>title</string> </key>
+ <value> <string></string> </value>
+ </item>
+ </dictionary>
+ </pickle>
+ </record>
+</ZopeData>
Added: erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/change_log
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/change_log?rev=43801&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/change_log (added)
+++ erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/change_log [utf8] Mon Feb 28 13:05:36 2011
@@ -0,0 +1,2 @@
+2011-02-28 Ivan
+* Initial import
\ No newline at end of file
Added: erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/dependency_list
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/dependency_list?rev=43801&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/dependency_list (added)
+++ erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/dependency_list [utf8] Mon Feb 28 13:05:36 2011
@@ -0,0 +1,2 @@
+erp5_km
+erp5_full_text_sphinxse_catalog
\ No newline at end of file
Added: erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/description
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/description?rev=43801&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/description (added)
+++ erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/description [utf8] Mon Feb 28 13:05:36 2011
@@ -0,0 +1,3 @@
+KM full text search using sphinx.
+Use "NO ZODB" approach -i.e. search results are delivered entirely by MySQL backend together with text excerpts from Sphinx search engine.
+See http://www.erp5.org/HowToUseSphinxSE
\ No newline at end of file
Added: erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/revision?rev=43801&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/revision (added)
+++ erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/revision [utf8] Mon Feb 28 13:05:36 2011
@@ -0,0 +1 @@
+9
\ No newline at end of file
Added: erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/template_format_version
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/template_format_version?rev=43801&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/template_format_version (added)
+++ erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/template_format_version [utf8] Mon Feb 28 13:05:36 2011
@@ -0,0 +1 @@
+1
\ No newline at end of file
Added: erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/template_skin_id_list
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/template_skin_id_list?rev=43801&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/template_skin_id_list (added)
+++ erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/template_skin_id_list [utf8] Mon Feb 28 13:05:36 2011
@@ -0,0 +1 @@
+erp5_km_sphinx_full_text_search
\ No newline at end of file
Added: erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/title
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/title?rev=43801&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/title (added)
+++ erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/title [utf8] Mon Feb 28 13:05:36 2011
@@ -0,0 +1 @@
+erp5_km_sphinx_full_text_search
\ No newline at end of file
Added: erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/version
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/version?rev=43801&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/version (added)
+++ erp5/trunk/bt5/erp5_km_sphinx_full_text_search/bt/version [utf8] Mon Feb 28 13:05:36 2011
@@ -0,0 +1 @@
+0.1
\ No newline at end of file
More information about the Erp5-report
mailing list