Sphinx - Как объединить index_zones и expand_keywords в одном индексе? - PullRequest
0 голосов
/ 07 мая 2020

Со следующим индексом

index testrt
{
    type = rt
    rt_mem_limit = 128M
    path = ../var/data/testrt
    rt_field = title
    rt_field = content
    rt_attr_uint = gid
    html_strip = 1
    index_zones = th
}

И следующими данными

INSERT INTO testrt (id, gid, title, content) VALUES (1, 1, 'One', '<th>Table 1. Local awareness of Hello Kitty brand.</th>.. some table data goes here ..<th>Table 2. World-wide brand awareness.</th>');

Все работает, как описано в документации здесь "http://sphinxsearch.com/docs/sphinx3.html#zone -and-zonepan-operators".
Запрос

SELECT * FROM testrt WHERE MATCH('ZONE:th hello world');

возвращает 1 строку.
А запрос

SELECT * FROM testrt WHERE MATCH('ZONESPAN:th hello world');

возвращает пустой набор.

Но со следующим индексом

index testrt
{
    type = rt
    rt_mem_limit = 128M
    path = ../var/data/testrt
    rt_field = title
    rt_field = content
    rt_attr_uint = gid
    html_strip = 1
    index_zones = th

    expand_keywords = 1
    min_prefix_len = 3
}

оба запроса возвращают 1 строку.

Почему? Можно ли использовать обе настройки (index_zones и expand_keywords) в одном индексе?

...