Bug 562667, Index collections in Sphinx
This commit is contained in:
Родитель
21f091150c
Коммит
273c95ffa2
|
@ -5,9 +5,7 @@ try:
|
|||
except ImportError:
|
||||
from localsettings_django import *
|
||||
|
||||
config = """
|
||||
source addons
|
||||
{
|
||||
MYSQL_SOURCE_CONFIG = """
|
||||
type = mysql
|
||||
sql_host = %s
|
||||
sql_user = %s
|
||||
|
@ -16,7 +14,19 @@ source addons
|
|||
|
||||
sql_query_pre = SET NAMES utf8
|
||||
sql_query_pre = SET SESSION query_cache_type=OFF
|
||||
""" % (MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_NAME,)
|
||||
|
||||
CHARSET_DATA = """
|
||||
charset_type = utf-8
|
||||
charset_table = 0..9,U+41..U+5a->U+61..U+7a, U+61..U+7a, U+aa, U+b5, U+ba, U+c0..U+d6->U+e0..U+f6, U+d8..U+de->U+f8..U+fe, U+df..U+f6, U+f8..U+ff, U+100..U+12f/2, U+130->U+69, U+131, U+132..U+137/2, U+138, U+139..U+148/2, U+149, U+14a..U+177/2, U+178->U+ff, U+179..U+17e/2, U+17f..U+180, U+181->U+253, U+182..U+185/2, U+186->U+254, U+187..U+188/2, U+189..U+18a->U+256..U+257, U+18b..U+18c/2, U+18d, U+18e->U+1dd, U+18f->U+259, U+190->U+25b, U+191..U+192/2, U+193->U+260, U+194->U+263, U+195, U+196->U+269, U+197->U+268, U+198..U+199/2, U+19a..U+19b, U+19c->U+26f, U+19d->U+272, U+19e, U+19f->U+275, U+1a0..U+1a5/2, U+1a6->U+280, U+1a7..U+1a8/2, U+1a9->U+283, U+1aa..U+1ab, U+1ac..U+1ad/2, U+1ae->U+288, U+1af..U+1b0/2, U+1b1..U+1b2->U+28a..U+28b, U+1b3..U+1b6/2, U+1b7->U+292, U+1b8..U+1b9/2, U+1ba..U+1bb, U+1bc..U+1bd/2, U+1be..U+1c3, U+1c4->U+1c6, U+1c5..U+1c6/2, U+1c7->U+1c9, U+1c8..U+1c9/2, U+1ca->U+1cc, U+1cb..U+1dc/2, U+1dd, U+1de..U+1ef/2, U+1f0, U+1f1->U+1f3, U+1f2..U+1f5/2, U+1f6->U+195, U+1f7->U+1bf, U+1f8..U+21f/2, U+220->U+19e, U+221, U+222..U+233/2, U+234..U+23a, U+23b..U+23c/2, U+23d->U+19a, U+23e..U+240, U+241->U+294, U+250..U+2c1, U+2c6..U+2d1, U+2e0..U+2e4, U+2ee, U+37a, U+386..U+389->U+3ac..U+3af, U+38c..U+38e->U+3cc..U+3ce, U+390, U+391..U+3a1->U+3b1..U+3c1, U+3a3..U+3ab->U+3c3..U+3cb, U+3ac..U+3ce, U+3d0..U+3d7, U+3d8..U+3ef/2, U+3f0..U+3f3, U+3f4->U+3b8, U+3f5, U+3f7..U+3f8/2, U+3f9->U+3f2, U+3fa..U+3fb/2, U+3fc..U+3ff, U+400..U+40f->U+450..U+45f, U+410..U+42f->U+430..U+44f, U+430..U+45f, U+460..U+481/2, U+48a..U+4bf/2, U+4c0, U+4c1..U+4ce/2, U+4d0..U+4f9/2, U+500..U+50f/2, U+531..U+556->U+561..U+586, U+559, U+561..U+587, U+5d0..U+5ea, U+5f0..U+5f2, U+621..U+63a, U+640..U+64a, U+66e..U+66f, U+671..U+6d3, U+6d5, U+6e5..U+6e6, U+6ee..U+6ef, U+6fa..U+6fc, U+6ff, U+e01..U+e30, U+e32..U+e33, U+e40..U+e46, U+e81..U+e82, U+e84, U+e87..U+e88, U+e8a, U+e8d, U+e94..U+e97, U+e99..U+e9f, U+ea1..U+ea3, U+ea5, U+ea7, U+eaa..U+eab, U+ead..U+eb0, U+eb2..U+eb3, U+ebd, U+ec0..U+ec4, U+ec6, U+edc..U+edd, U+1000..U+1021, U+1023..U+1027, U+1029..U+102a, U+1050..U+1055, U+10a0..U+10c5->U+2d00..U+2d25, U+10d0..U+10fa, U+10fc, U+2d00..U+2d25, U+1d00..U+1dbf, U+1e00..U+1e95/2, U+1e96..U+1e9b, U+1ea0..U+1ef9/2, U+3005..U+3006, U+3031..U+3035, U+303b..U+303c, U+3041..U+3096, U+309d..U+309f, U+30a1..U+30fa, U+30fc..U+30ff, U+31f0..U+31ff
|
||||
ngram_chars = U+3400..U+4DB5, U+4E00..U+9FA5, U+20000..U+2A6D6
|
||||
ngram_len = 1
|
||||
"""
|
||||
|
||||
config = """
|
||||
source addons
|
||||
{
|
||||
""" + MYSQL_SOURCE_CONFIG + """
|
||||
sql_query = \
|
||||
SELECT \
|
||||
id, app, addon_id, type, status as addon_status, locale, \
|
||||
|
@ -166,7 +176,7 @@ source addons
|
|||
sql_attr_multi = uint category_featured from query; \
|
||||
SELECT \
|
||||
(name.autoid*100+IFNULL(av.application_id,0)) id, \
|
||||
ac.category_id AS category \
|
||||
ac.category_id AS category \
|
||||
FROM \
|
||||
(translations name, addons a, addons_categories ac) \
|
||||
LEFT JOIN versions v ON v.addon_id = a.id \
|
||||
|
@ -212,13 +222,13 @@ source addons
|
|||
(name.autoid*100+IFNULL(av.application_id,0)) = $id
|
||||
}
|
||||
|
||||
""" % (MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_NAME,)
|
||||
"""
|
||||
|
||||
config = config + """
|
||||
index addons
|
||||
{
|
||||
source = addons
|
||||
path = %s/catalog
|
||||
path = %s/addons
|
||||
# morphology = stem_en
|
||||
# symlink sphinx-wordforms.txt to this location:
|
||||
wordforms = %s/sphinx-wordforms.txt
|
||||
|
@ -227,13 +237,67 @@ index addons
|
|||
# We can enable star if necessary.
|
||||
min_infix_len = 3
|
||||
infix_fields = name
|
||||
charset_type = utf-8
|
||||
charset_table = 0..9,U+41..U+5a->U+61..U+7a, U+61..U+7a, U+aa, U+b5, U+ba, U+c0..U+d6->U+e0..U+f6, U+d8..U+de->U+f8..U+fe, U+df..U+f6, U+f8..U+ff, U+100..U+12f/2, U+130->U+69, U+131, U+132..U+137/2, U+138, U+139..U+148/2, U+149, U+14a..U+177/2, U+178->U+ff, U+179..U+17e/2, U+17f..U+180, U+181->U+253, U+182..U+185/2, U+186->U+254, U+187..U+188/2, U+189..U+18a->U+256..U+257, U+18b..U+18c/2, U+18d, U+18e->U+1dd, U+18f->U+259, U+190->U+25b, U+191..U+192/2, U+193->U+260, U+194->U+263, U+195, U+196->U+269, U+197->U+268, U+198..U+199/2, U+19a..U+19b, U+19c->U+26f, U+19d->U+272, U+19e, U+19f->U+275, U+1a0..U+1a5/2, U+1a6->U+280, U+1a7..U+1a8/2, U+1a9->U+283, U+1aa..U+1ab, U+1ac..U+1ad/2, U+1ae->U+288, U+1af..U+1b0/2, U+1b1..U+1b2->U+28a..U+28b, U+1b3..U+1b6/2, U+1b7->U+292, U+1b8..U+1b9/2, U+1ba..U+1bb, U+1bc..U+1bd/2, U+1be..U+1c3, U+1c4->U+1c6, U+1c5..U+1c6/2, U+1c7->U+1c9, U+1c8..U+1c9/2, U+1ca->U+1cc, U+1cb..U+1dc/2, U+1dd, U+1de..U+1ef/2, U+1f0, U+1f1->U+1f3, U+1f2..U+1f5/2, U+1f6->U+195, U+1f7->U+1bf, U+1f8..U+21f/2, U+220->U+19e, U+221, U+222..U+233/2, U+234..U+23a, U+23b..U+23c/2, U+23d->U+19a, U+23e..U+240, U+241->U+294, U+250..U+2c1, U+2c6..U+2d1, U+2e0..U+2e4, U+2ee, U+37a, U+386..U+389->U+3ac..U+3af, U+38c..U+38e->U+3cc..U+3ce, U+390, U+391..U+3a1->U+3b1..U+3c1, U+3a3..U+3ab->U+3c3..U+3cb, U+3ac..U+3ce, U+3d0..U+3d7, U+3d8..U+3ef/2, U+3f0..U+3f3, U+3f4->U+3b8, U+3f5, U+3f7..U+3f8/2, U+3f9->U+3f2, U+3fa..U+3fb/2, U+3fc..U+3ff, U+400..U+40f->U+450..U+45f, U+410..U+42f->U+430..U+44f, U+430..U+45f, U+460..U+481/2, U+48a..U+4bf/2, U+4c0, U+4c1..U+4ce/2, U+4d0..U+4f9/2, U+500..U+50f/2, U+531..U+556->U+561..U+586, U+559, U+561..U+587, U+5d0..U+5ea, U+5f0..U+5f2, U+621..U+63a, U+640..U+64a, U+66e..U+66f, U+671..U+6d3, U+6d5, U+6e5..U+6e6, U+6ee..U+6ef, U+6fa..U+6fc, U+6ff, U+e01..U+e30, U+e32..U+e33, U+e40..U+e46, U+e81..U+e82, U+e84, U+e87..U+e88, U+e8a, U+e8d, U+e94..U+e97, U+e99..U+e9f, U+ea1..U+ea3, U+ea5, U+ea7, U+eaa..U+eab, U+ead..U+eb0, U+eb2..U+eb3, U+ebd, U+ec0..U+ec4, U+ec6, U+edc..U+edd, U+1000..U+1021, U+1023..U+1027, U+1029..U+102a, U+1050..U+1055, U+10a0..U+10c5->U+2d00..U+2d25, U+10d0..U+10fa, U+10fc, U+2d00..U+2d25, U+1d00..U+1dbf, U+1e00..U+1e95/2, U+1e96..U+1e9b, U+1ea0..U+1ef9/2, U+3005..U+3006, U+3031..U+3035, U+303b..U+303c, U+3041..U+3096, U+309d..U+309f, U+30a1..U+30fa, U+30fc..U+30ff, U+31f0..U+31ff
|
||||
ngram_chars = U+3400..U+4DB5, U+4E00..U+9FA5, U+20000..U+2A6D6
|
||||
ngram_len = 1
|
||||
%s
|
||||
}
|
||||
""" % (CATALOG_PATH, ETC_PATH)
|
||||
""" % (CATALOG_PATH, ETC_PATH, CHARSET_DATA)
|
||||
|
||||
# Configuration for collections
|
||||
|
||||
config = config + """
|
||||
source collections
|
||||
{
|
||||
""" + MYSQL_SOURCE_CONFIG + """
|
||||
sql_query = \
|
||||
SELECT \
|
||||
name.autoid AS id, \
|
||||
c.id AS collection_id, \
|
||||
name.localized_string AS name, \
|
||||
description.localized_string AS description, \
|
||||
name.locale AS locale, \
|
||||
CRC32(name.locale) AS locale_ord, \
|
||||
weekly_subscribers, \
|
||||
monthly_subscribers, \
|
||||
subscribers, \
|
||||
rating, \
|
||||
UNIX_TIMESTAMP(c.created) AS created \
|
||||
FROM \
|
||||
( \
|
||||
collections c, \
|
||||
translations name \
|
||||
) \
|
||||
LEFT JOIN translations description \
|
||||
ON c.description = description.id \
|
||||
AND description.locale = name.locale \
|
||||
WHERE \
|
||||
c.name = name.id \
|
||||
AND ( \
|
||||
name.locale IS NOT NULL \
|
||||
OR name.localized_string IS NOT NULL \
|
||||
OR description.locale IS NOT NULL \
|
||||
OR description.localized_string IS NOT NULL \
|
||||
) \
|
||||
AND c.uuid != ''
|
||||
sql_attr_uint = collection_id
|
||||
sql_attr_uint = locale_ord
|
||||
sql_attr_str2ordinal = locale
|
||||
sql_attr_uint = weekly_subscribers
|
||||
sql_attr_uint = monthly_subscribers
|
||||
sql_attr_uint = subscribers
|
||||
sql_attr_float = rating
|
||||
sql_attr_timestamp = created
|
||||
}
|
||||
"""
|
||||
|
||||
config = config + """
|
||||
index collections
|
||||
{
|
||||
source = collections
|
||||
path = %s/collections
|
||||
morphology = stem_en
|
||||
wordforms = %s/sphinx-wordforms.txt
|
||||
%s
|
||||
}
|
||||
""" % (CATALOG_PATH, ETC_PATH, CHARSET_DATA)
|
||||
|
||||
config = config + """
|
||||
searchd
|
||||
|
|
Загрузка…
Ссылка в новой задаче