Campo de URL ausente usando o Solr Dataimportandler
-
23-09-2019 - |
Pergunta
Sou novo no Solr e tendo dificuldades com o Dataimimorthandler. Recebo esta mensagem quando o servidor é iniciado:
27 de janeiro de 2010 12:27:22 pm org.apache.solr.handler.dataimport.dataimportHandler ProcessConfiguration
Info: Processando Configuração de Solrconfig.xml: {config = dih-gensigdb-jdbc.xml} 27 de janeiro de 2010 12:27:22 pm org.apache.solr.Handler.dataimport.dataimporter loaddataconfig Informações: Configuração de dados Configuração , 2010 12:27:22 pm org.apache.solr.handler.dataimport.dataimporter VerifyWithSchema Info: URL é um campo necessário em Solrschema. Mas não encontrado em Dataconfig
Meu dataconfig não contém um campo de URL, mas não sei por que é necessário. Quando uso o console DIH e tento depurar a configuração, recebo os seguintes erros durante a importação de documentos:
org.apache.solr.common.solrexception: documento [null] Falta Campo Necessário: URL
Meu dataconfig se parece com o seguinte:
<dataConfig>
<dataSource name="jdbc" driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:xe"
user="genesigdb" password="genesigdb"/>
<document name="PMID">
<entity name="PMID" dataSource="jdbc" query="SELECT PMID FROM PUBLICATION">
</entity>
</document>
</dataConfig>
Solução
Não há nada ootb que eu conheço. Eu posso pensar em 2 opções e ambas essencialmente fazem a mesma coisa.
Receptor de evento do cliente - você precisa usar o evento ItemUpdating que não é excessivamente doloroso se estiver familiarizado com os receptores de eventos do SharePoint. Isso deve ajudar -
Item atualizar o receptor de eventos
A queda é agora que você deseja alertar alguém, então você precisa adicionar ao seu código personalizado ou também pode criar um fluxo de trabalho do SharePoint Designer que apenas envie as pessoas e ligue para o seu código. Esta não é uma maneira fácil de ir, para ser honesto. Se você não estiver familiarizado com os receptores de eventos e não tiver feito muito desenvolvimento dentro do SharePoint, eu iria para o abaixo. Se você é um pouco familiar, na verdade este cenário exato e posso encontrar e compartilhar o que fiz, se quiser.
fluxo de trabalho do desenhador do SharePoint Você também pode criar um fluxo de trabalho que faça a mesma coisa que acima e é um pouco mais amigável se os outros precisarem trabalhar mais tarde.
- .
- Crie uma segunda coluna na sua lista .... Columnaoriginal
- Crie uma nova lista Worflow que é executado em itens novos e editados
- Adicione uma condição que diz se Columnaoriginal não é em branco e o columnina-oral não é igual a Columna, envie um email. Abaixo disso, configure seu email.
- Adicione uma ação abaixo que cópia coluna A para Columnaoriginal
Nós olhamos para ver se Columnaoriginal está em branco porque em todos os itens novos, estará sempre em branco, pois o fluxo de trabalho ainda não é executado.