Здравствуйте!
Есть несколько вопросов по плагину ранкера.
-
Можно ли в функцию XXX_update() ранкера передать или получить доступ, каким-то образом, к атрибутам текущего документа? Например, в индексе есть атрибут rt_attr_string = guid.
-
Что находится в поле doc_id структуры SPH_RANKER_HIT? У меня возвращает в этом поле не id, которые я передал с помощью INSERT, а числа 0,1,… Как будто они означают порядок, в котором я добавлял документы. Добавлял я их в индекс следующим образом:
INSERT INTO myindex (id, guid, …) VALUES (153781677,‘8B0893A217DF76A7E0531D9AA8C0C4E9’,…); -
В поле query_pos(SPH_RANKER_HIT) учитываются позиции слов запроса не только тех, что даны пользователем, но и служебных(в моем случае чисел). Например, запрос:
SELECT id, WEIGHT() FROM myindex WHERE MATCH(’“22К 734”~10|“4 1 208”~10’) OPTION ranker=my_ranker(’’);
Для “22К 734” query_pos=1. А для “4 1 208” query_pos=4. Т.е. посчиталась позиция числа 10 - аргумента оператора близости. Если убрать ~10, то query_pos=3. Это баг или фича? -
Хотелось бы, чтобы в будущем появилось описание полей структур SPH_RANKER_INIT, SPH_RANKER_HIT. В частности, не ясно что хранится в полях:
а) SPH_RANKER_INIT: payload_mask, max_qpos;
б) SPH_RANKER_HIT: node_pos, span_length, query_pos_mask.
Версия, на которой тестировалось Manticore 3.4.2.
Спасибо!