Скажите, если я что-то упустил, но мне кажется, что вы пытаетесь включить результаты с названиями продуктов, которые соответствуют определенному запросу, и исключить результаты с описанием, соответствующим другому запросу?
Если этоВ этом случае мне кажется, что иметь 2 индекса бесполезно, и вы можете иметь один индекс с названиями и описаниями продуктов, а затем выполнить запрос полнотекстового поиска следующим образом:
@title queryA @description -queryB
Вы можете использоватьтот же запрос для поиска совпадений, которые имеют заголовок queryA И описание queryB, просто удалив символ -.
Если это не основа, единственный другой способ, которым я мог бы подумать, это использовать SphinxQL (яЯ не очень хорошо разбираюсь в любой из библиотек, так как поддержка всех библиотек, которые не используют SphinxQL, постепенно прекращается в будущем, насколько я читал)
Используя SphinxQL, вы могли бы выполнить 2 запросатот, который похож на
SELECT id FROM indexB WHERE MATCH('@description queryB')
, а затем выполните второй запрос, используя список идентификаторов, которые вы получили из первого запросакак таковой
SELECT id FROM indexA WHERE id NOT IN(id1,id2,id3,...)