|
|
|
| Мой конфиг:
source FirmsWhatSource : InforosSource
{
sql_query = \
SELECT \
r.id, \
r.pid, \
r.name_ru, \
r.name_en \
FROM crm_firms_rubrics AS r \
WHERE r.id >= $start \
AND r.id <= $end \
AND r.is_vis = 1 \
AND r.name_ru <> ''
sql_query_range = SELECT MIN(id),MAX(id) FROM crm_firms_rubrics
sql_range_step = 1000
sql_ranged_throttle = 0
sql_attr_uint = pid
sql_field_string = name_ru
}
# Индекс для автокомплита в поле WHAT
index FirmsWhatIndex {
source = FirmsWhatSource
path = /var/db/sphinxsearch/data/test
docinfo = extern
mlock= 0
morphology = stem_enru
min_word_len = 3
min_infix_len = 0
#prefix_fields = name_ru
min_prefix_len = 0 #искать слева
# Позволим искать со звездочкой
enable_star = 1
charset_type = utf-8
html_strip = 1
}
|
мой скрипт:
<?php
$sphinx = new SphinxClient();
$sphinx->SetServer ('localhost', 9312);
$sphinx->SetConnectTimeout (1);
$sphinx->SetArrayResult (true);
$sphinx->SetMatchMode (SPH_MATCH_EXTENDED2);
$sphinx->SetSortMode(SPH_SORT_RELEVANCE);
$q = "@* *{$q}*";
$res = $sphinx->Query($q, 'FirmsWhatIndex');
if ($res !== false && is_array($res["matches"])) {
foreach($res["matches"] as $docinfo) {
echo $db->getOne("SELECT `name_ru` FROM `crm_firms_rubrics` WHERE `id` = " . $docinfo['id'])."\n";
}
}
?>
|
Не находит ничего, либо находит непонятно что. | |
|
|