Hoe krijg ik de doc-velden van het resultaat in plaats van arr?

I have made an Index, secondCore {id, resid, title, name, cat, role, exp}. When I execute query, then result fields in doc is returned as array (6767), but I want it to be string, as it returned in ID(1).

Where can I do the changes? I have multiple cores, and each core have seperate schema.xml, (say server/solr/firstCore/conf/fcschema.xml and server/solr/secondCore/conf/scschema.xml). In core.properties of each core, I have written schema file name as schema=fcschema.xml

<?xml version="1.0" encoding="UTF-8"?>



  0
  1
  
    true
    status:inbox
    1444301939167
    xml
  


  
    1
    
      6767
    
    
      384
    
    
      inbox
    
    1514456876026167296
    ...


Invoer in schemabestand:


   
   
   
   
   
   

Dus ik wilde vragen:

  1. Waar kan ik de wijzigingen aanbrengen om resultaat te krijgen in tekenreeks in plaats van array?
  2. Hoe kan ik dat verifiëren, mijn kern gebruikt een gespecificeerd schemabestand?
  3. Om te zoeken naar documenten met status als filter voor inbox , moet ik de status: "inbox zoeken" precies uitvoeren, maar ik wil dit document wanneer ik zoek naar < code> status: inbox of status: filter . Hoe doe je? Ik denk dat dit probleem zal worden opgelost na het oplossen van de eerste.
  4. Hoewel deze vraag niet relevant is voor dit onderwerp, maar waar kan ik de standaarduitvoerindeling instellen op xml in plaats van json ? Ik heb het geprobeerd in solrconfig.xml, maar ik kreeg het niet.

PS: Ik heb solr opnieuw gestart nadat ik iets in een van de xml-bestanden heb gedaan en ik gebruik solr-5.3

Aarzel niet om om opheldering te vragen in het geval dat de vraag onduidelijk is. Bij voorbaat dank. :)

2
Ik heb mijn json-bestand opnieuw geïndexeerd, daarna kon ik ook geen oplossing voor mijn problemen krijgen! :( @pihentagyu
toegevoegd de auteur Kamal Nayan, de bron
Ik heb mijn json-bestand opnieuw geïndexeerd, daarna kon ik ook geen oplossing voor mijn problemen krijgen! :( @pihentagyu
toegevoegd de auteur Kamal Nayan, de bron
@pihentagyu: Probleem # 4 is nog in behandeling. Ik heb xml geprobeerd en schreef antwoordschrijver ook , maar kon dit niet oplossen. Geen van beide toevoegen default = "true" deed! :(
toegevoegd de auteur Kamal Nayan, de bron
@pihentagyu: Probleem # 4 is nog in behandeling. Ik heb xml geprobeerd en schreef antwoordschrijver ook , maar kon dit niet oplossen. Geen van beide toevoegen default = "true" deed! :(
toegevoegd de auteur Kamal Nayan, de bron
U moet een volledige index uitvoeren om wijzigingen aan te brengen in het bestand schema.xml, niet alleen solr opnieuw opstarten. Gebruik in solrconfig.xml xml in de aanvraagbehandelaar. Mogelijk moet u dit ook toevoegen als een antwoordschrijver: (u kunt ook default = "true" toevoegen aan de bovenstaande queryreactie schrijven om dit de standaard voor alle behandelaars).
toegevoegd de auteur James Doepp - pihentagyu, de bron
U moet een volledige index uitvoeren om wijzigingen aan te brengen in het bestand schema.xml, niet alleen solr opnieuw opstarten. Gebruik in solrconfig.xml xml in de aanvraagbehandelaar. Mogelijk moet u dit ook toevoegen als een antwoordschrijver: (u kunt ook default = "true" toevoegen aan de bovenstaande queryreactie schrijven om dit de standaard voor alle behandelaars).
toegevoegd de auteur James Doepp - pihentagyu, de bron

6 antwoord

Although I have done changes in schema.xml, but I noticed that It was not getting reflected, and later on I came to know that, solr 5.3.x implicitly makes managed-schema.xml, editing which solved all my queries. Check here: Why is solr returning result with only exact search?

But the problem #4 is still pending. I have tried xml and wrote response writer also , but couldn't resolve it. Neither adding default="true" did! Can anyone provide me any suggestion?

0
toegevoegd

Although I have done changes in schema.xml, but I noticed that It was not getting reflected, and later on I came to know that, solr 5.3.x implicitly makes managed-schema.xml, editing which solved all my queries. Check here: Why is solr returning result with only exact search?

But the problem #4 is still pending. I have tried xml and wrote response writer also , but couldn't resolve it. Neither adding default="true" did! Can anyone provide me any suggestion?

0
toegevoegd

Ik had hetzelfde probleem vandaag: ik migreerde van SOLR 4.x naar 5.x en zag opeens na het dumpen van de gegevens in alle objecten dat hun waarden in arrays waren genest. Omdat ik niet zeker wist of het probleem met Haystack of het load-script was, probeerde ik een paar nieuwe records in te voegen via het SOLR-dashboard. Hetzelfde, maar ik merkte dat een paar SOLR-specifieke velden goed laadden.

Deze bug lijkt gerelateerd te zijn aan het veldtype dat u opgeeft. "tstrings" (ik geloof dat dit de standaard is via haystack) zal de opgeslagen gegevens genest in arrays maken, maar het "strings" type werkt prima. Hieronder ziet u een voorbeeld van een veldspecificatie waarmee ik van waarden kon gaan die arrays waren tot tekenreekswaarden.

Het lijkt erop dat de Haystack schema.xml-generator wat werk nodig heeft om zich aan te passen aan nieuwe conventies met Solr 5.x.

Het kostte wat tijd, maar de beste manier om al mijn velden te repareren was een JSON-record in te voegen en te controleren of elk veld met het juiste formaat binnenkwam. Ga één voor één door totdat ze allemaal goed werken.

Als ik wat tijd vind, zal ik naar de SOLR schema-generator van Haystack kijken en zien wat er misschien is veranderd.

Ik hoop dat dit iemand helpt!

0
toegevoegd

Ik had hetzelfde probleem vandaag: ik migreerde van SOLR 4.x naar 5.x en zag opeens na het dumpen van de gegevens in alle objecten dat hun waarden in arrays waren genest. Omdat ik niet zeker wist of het probleem met Haystack of het load-script was, probeerde ik een paar nieuwe records in te voegen via het SOLR-dashboard. Hetzelfde, maar ik merkte dat een paar SOLR-specifieke velden goed laadden.

Deze bug lijkt gerelateerd te zijn aan het veldtype dat u opgeeft. "tstrings" (ik geloof dat dit de standaard is via haystack) zal de opgeslagen gegevens genest in arrays maken, maar het "strings" type werkt prima. Hieronder ziet u een voorbeeld van een veldspecificatie waarmee ik van waarden kon gaan die arrays waren tot tekenreekswaarden.

Het lijkt erop dat de Haystack schema.xml-generator wat werk nodig heeft om zich aan te passen aan nieuwe conventies met Solr 5.x.

Het kostte wat tijd, maar de beste manier om al mijn velden te repareren was een JSON-record in te voegen en te controleren of elk veld met het juiste formaat binnenkwam. Ga één voor één door totdat ze allemaal goed werken.

Als ik wat tijd vind, zal ik naar de SOLR schema-generator van Haystack kijken en zien wat er misschien is veranderd.

Ik hoop dat dit iemand helpt!

0
toegevoegd

Ik had hetzelfde probleem, terwijl ik migreerde van 4.9 naar 6.x. Ik zag velden die zijn gedefinieerd als text_general geretourneerde gegevens als een Array . Hetzelfde veld retourneerde een stringtype in 4.9 versie van solr. Interessant is dat sommige velden niet zijn geconverteerd naar array in solr 6.x. Ik heb het "managed-schema" niet gebruikt, ik gebruikte het klassieke schema.xml .

Om het probleem op te lossen nam ik de schema.xml van solr 4.9 en verhuisde naar de map conf/ van mijn nieuwe solr-kern. Dus alle definities van de velden waren van solr 4.9, ik gebruikte de solrconfig.xml van solr 6.x maar ik schakelde de updateRequestProcessorChain uit, omdat ik geen "field" ga gebruiken gissen" ... etc. Toen ik opnieuw solr en opnieuw geïndexeerde content herstartte, lostte ik het probleem op en zag ik geen enkel element terug als array, tenzij het een veld met meerdere waarden is.

0
toegevoegd
Bedankt Darth voor je reactie. Ik heb de problemen opgelost en het antwoord al in dezelfde thread geplaatst. Neem een ​​kijkje: stackoverflow.com/a/33079717/4414367
toegevoegd de auteur Kamal Nayan, de bron

Ik had hetzelfde probleem, terwijl ik migreerde van 4.9 naar 6.x. Ik zag velden die zijn gedefinieerd als text_general geretourneerde gegevens als een Array . Hetzelfde veld retourneerde een stringtype in 4.9 versie van solr. Interessant is dat sommige velden niet zijn geconverteerd naar array in solr 6.x. Ik heb het "managed-schema" niet gebruikt, ik gebruikte het klassieke schema.xml .

Om het probleem op te lossen nam ik de schema.xml van solr 4.9 en verhuisde naar de map conf/ van mijn nieuwe solr-kern. Dus alle definities van de velden waren van solr 4.9, ik gebruikte de solrconfig.xml van solr 6.x maar ik schakelde de updateRequestProcessorChain uit, omdat ik geen "field" ga gebruiken gissen" ... etc. Toen ik opnieuw solr en opnieuw geïndexeerde content herstartte, lostte ik het probleem op en zag ik geen enkel element terug als array, tenzij het een veld met meerdere waarden is.

0
toegevoegd
Bedankt Darth voor je reactie. Ik heb de problemen opgelost en het antwoord al in dezelfde thread geplaatst. Neem een ​​kijkje: stackoverflow.com/a/33079717/4414367
toegevoegd de auteur Kamal Nayan, de bron