SolrNet строчные буквы Имена полей Solr в строке запроса, приводит к сбою Solr 1.4 - PullRequest
1 голос
/ 18 августа 2011

Это странная ошибка, которую мы начали видеть около года назад.Сначала я только изредка замечал это на своем компьютере разработчика, но теперь он начинает появляться в производстве, что проблематично.

Мы используем Ubuntu (11.04) и Mono 2.6.7 в производстве (я могутакже воспроизвести с Mono 2.10.x) внутри Apache, используя mod_mono.

По сути, иногда (очень трудно воспроизвести), когда apache запускает приложение, SolrNet решает в нижнем регистре весь URL-адрес, который он передает на сервер solr.Если приложение находится в этом состоянии, оно остается таким до тех пор, пока оно не будет перезапущено (и иногда требуется несколько перезапусков для его очистки.) Мы могли бы пойти на 20-50 или более перезапусков, не увидев, что эта проблема возникнет.или иногда это случается каждые 2 или 3.

Хороший URL выглядит так:

INFO: [] webapp=/solr path=/select params={sort=Creative.PromotionalScore+desc&start=0&q=*:*&?=&qt=standard&fq={!tag%3DCreative.GalleryReviewStatus}Creative.GalleryReviewStatus:Approved&fq={!tag%3DCreative.SectionIncludedTarget}Creative.SectionIncludedTarget:220358+OR+(NOT+Creative.SectionIncludedTarget:[*+TO+*]+*:*)&fq={!tag%3DActive}Active:true&fq={!tag%3DCreative.ShowInGallery}Creative.ShowInGallery:true&fq={!tag%3DCreative.Size}Creative.Size:"Rectangle"&fq={!tag%3DRecordType}RecordType:FiveToOne.Gallery.Rmx.Creative&rows=12} 

Плохой URL выглядит так:

http://solrServer:8080/solr/select?qt=standard&fq=%7b!tag%3dcreative.galleryreviewstatus%7dcreative.galleryreviewstatus%3aapproved&fq=%7b!tag%3dcreative.sectionincludedtarget%7dcreative.sectionincludedtarget%3a306433+or+(not+creative.sectionincludedtarget%3a%5b*+to+*%5d+*%3a*)&fq=%7b!tag%3dactive%7dactive%3atrue&fq=%7b!tag%3dcreative.showingallery%7dcreative.showingallery%3atrue&fq=%7b!tag%3dcreative.size%7dcreative.size%3a%22rectangle%22&fq=%7b!tag%3drecordtype%7drecordtype%3afivetoone.gallery.rmx.creative&sort=creative.promotionalscore+desc&rows=18&start=0&q=*%3a*&?

(первыйПрошу прощения, эти два URL извлечены из разных этапов канала, все, к чему у меня есть доступ в данный момент.)

Когда отправляется неверный URL, Solr выдает фатальное исключение, жалуясь на неизвестное поле:

HTTP Status 400 - can not sort on undefined field: creative.promotionalscore

type Status report

message can not sort on undefined field: creative.promotionalscore

description The request sent by the client was syntactically incorrect (can not sort on undefined field: creative.promotionalscore).

1 Ответ

0 голосов
/ 19 августа 2011

Используя Solr и SolrNet в производстве уже четыре года, все, что я могу сказать, это то, что я никогда не видел этого в .NET, так что я предполагаю, что это ошибка в Mono.

Чтобы точно определить, где именно URL становится строчным, я бы поставил несколько точек регистрации, например здесь , здесь и здесь .

После того, как это ведение журналов выполнено, после возникновения ошибки, журнал должен быть проанализирован, вероятно, необходимо внести исправления в журналы и т. Д., Пока не будет найден точный источник ошибки.

Надеемся, что тогда ошибка будет воспроизведена, сообщена, исправлена ​​и т. Д.

...