Ich habe mongodb Dokumente wie diese ,,Wie Index MongoDB mehrwertig Feld in Solr 5.3.0
{
"_id" : ObjectId("5993d55cebb06d20f08521ad"),
"LoginInfoId" : NumberInt(410),
"EstablishmentName" : "xyz",
"ShopCategory" : "Crockery",
"likes" : NumberInt(21),
"ShopCats" : [ 1,5,3 ]
}
{
"_id" : ObjectId("5993d55cebb06d20f088871ad"),
"LoginInfoId" : NumberInt(411),
"EstablishmentName" : "abc",
"ShopCategory" : "Crockery",
"likes" : NumberInt(51),
"ShopCats" : [ 1,8,9 ]
}
ich indizieren müssen das Feld ShopCats
in ein solr Feld als Comma Separated Value wie diese,
"ShopCats": [1,2,3]
ich brauche diese Werte zu verwenden filterquery zu tun in solr Suche
Ich habe mit einigen Schema Felddefinitionen versucht
<field name="ShopCats" type="commaDelimited" indexed="true" stored="true" multiValued="true" />
<fieldType name="commaDelimited" class="solr.TextField">
<analyzer>
<tokenizer class="solr.PatternTokenizerFactory" pattern=",\s*" />
</analyzer>
</fieldType>
Immer noch das MongoDB Dokumentfeld ShopCats
nicht in solr
indiziert.
ja ,,, iam mit Mongo-Anschluss. Ich habe ungefähr 40 ShopCats Werte, wenn ich copfield verwende, dann sollte ich alle 40 ShopCats deklarieren und dann in ein einzelnes Feld kopieren. Ist das eine gute Praxis? – vampo458
@ vampo458 Ich würde die Best Practice nicht kommentieren. Aber wenn Sie mit Java eine Verbindung zu Mongo herstellen und diese Felder extrahieren und eine SolrJ zum Indexieren verwenden, können Sie diese Situation überwinden. Akzeptieren Sie auch eine Antwort, wenn Sie es hilfreich finden – Jeyaprakash
Ich arbeite in PHP, Mongodb und Solr, kann ich das gleiche mit PHP solr-Klasse tun? – vampo458