Apache Solr JSON, запрашивающий локальные параметры - PullRequest
0 голосов
/ 16 апреля 2019

В документации Solr сосредоточено объяснение того, как использовать параметры GET для определения запросов, но дается очень мало информации о том, как выполнять те же задачи, используя улучшенную структурированную поддержку JSON POST.Мне не удалось найти какую-либо документацию, которая более глубока, чем объяснение очень поверхностного уровня.

В частности, я пытаюсь использовать локальные параметры в своих запросах и хотел бы знать, как выполнить следующее с помощью JSONPOST вместо GET-параметров:

http://localhost:8983/solr/city/query?sort={!sfield=location pt=35.5514,-97.4075}geodist() asc&q={!geofilt sfield=location pt=35.5514,-97.4075 d=5}

Ответы [ 2 ]

2 голосов
/ 16 апреля 2019

Согласно API запроса JSON / сопоставлению параметров ваш запрос будет сопоставлен с:

{
  "sort": "{!sfield=location pt=35.5514,-97.4075}geodist() asc",
  "query": "{!geofilt sfield=location pt=35.5514,-97.4075 d=5}"
}
1 голос
/ 16 апреля 2019

Просто для завершения ответа @MatsLindh, вы можете использовать обычные имена параметров, если вы заключаете их в params (отображение не требуется), например:

file.json

{
  "params": {
    "q":"{!geofilt sfield=location pt=35.5514,-97.4075 d=5}",
    "sort":"{!sfield=location pt=35.5514,-97.4075}geodist() asc",
    "wt": "json",
    "indent": "true"
  }
}

Пример запроса с использованием curl:

curl -H "Content-Type: application/json" -X "POST" --data @file.json http://localhost:8983/solr/city/query
...