SolrNet - Как отключить кавычки в SolrQueryByField? - PullRequest
1 голос
/ 18 ноября 2011

Я использую SolrQueryByField, чтобы проверить, как Solr работает при поиске определенных полей. Однако SolrQueryByField, кажется, применяет кавычки вокруг запроса из нескольких слов. В последнем URL-адресе есть что-то вроде .. select? Q = (prodname: "champion + creatine") ... Эта попытка сделать точное совпадение. Есть ли способ отключить кавычки в SolrQueryByField, чтобы он переводился в .. select? Q = (имя_продукта: чемпион + креатин). Спасибо!

1 Ответ

3 голосов
/ 18 ноября 2011

Вы можете сделать следующее в SolrNet:

var q = new SolrQuery("prodname:champion") && new SolrQuery("prodname:creatine");
var response = solr.Query(q);

, который будет производить:

 select?q=prodname:champion+prodname:creatine

Это должно выполнить то, что вы хотите.Если нет, пожалуйста, обратитесь к странице SolrNet - Запрос для получения дополнительной информации.Кроме того, я полагаю, что причина, по которой вы видите поведение, описанное в вашем вопросе, заключается в том, что SolrQueryByField выполняет экранирование специальных символов.

Редактировать: Использование исправления для SolrQueryByField, упомянутого в комментарии.(Убедитесь, что у вас есть версия SolrNet, которая поддерживает это ...

 var q = new SolrQueryByField("prodname", "champion creatine") { Quoted = false };
...