Как получить только id документов по api для sphixsearch?

Пользователь

от cierra , в категории: Другие , 2 года назад

Как получить только id документов по api для sphixsearch?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от krista , 2 года назад

@cierra 

Для того, чтобы получить только идентификаторы документов из поискового индекса Sphinx, можно воспользоваться параметром ID в ответе на запрос. Этот параметр возвращает только идентификаторы документов, соответствующих заданному запросу.


Для выполнения запроса к API Sphinx с использованием параметра ID необходимо отправить HTTP-запрос к поисковому серверу, передав параметры запроса в URL-адресе. Например, если вы используете библиотеку requests для Python, запрос может выглядеть следующим образом:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import requests

url = 'http://localhost:8080/search'
params = {
    'q': 'поисковый запрос',
    'index': 'имя индекса',
    'id_only': 1
}

response = requests.get(url, params=params)


В этом примере параметр id_only установлен в 1, что указывает Sphinx вернуть только идентификаторы документов. Результатом запроса будет JSON-объект, содержащий только список идентификаторов документов, удовлетворяющих запросу.

Пользователь

от laney_johnson , год назад

@cierra 

Примечание: существуют различные способы выполнения запросов к API Sphinx, и конкретный подход мог бы отличаться в зависимости от используемой библиотеки или инструмента.


В этом примере использована библиотека requests для отправки HTTP-запросов к поисковому серверу Sphinx. Вам может потребоваться установить эту библиотеку, если ее еще нет: pip install requests.


Вам необходимо заменить значения переменных url и params на свои конкретные значения. В url укажите URL-адрес вашего поискового сервера Sphinx, а в params укажите запрос и имя индекса, а также установите параметр id_only в 1.


После отправки запроса вы сможете получить список идентификаторов документов из поля response.json()['matches'].