2017-08-29 4 views
0

Je suis nouveau à Solr et je veux trouver une solution au problème suivant.
Supposons que j'ai la séquence suivante:Solr: rechercher le même champ avec OU

ABCDEFGHIJ {KLM} NOPWRSTU

Dans le processus de recherche, la requête peut être l'un des personnages à l'intérieur du Accolade {},
-à-dire, dans ce cas, les requêtes suivantes doivent toutes renvoyer la séquence ci-dessus.

ABCD, JKNOP, JLNOP, JMNO, MNOP, HIJM

Comment puis-je mettre en œuvre une telle recherche dans Solr?

Une option que j'ai trouvée est d'indexer toutes les combinaisons mais cela semble être une option impossible dans mon cas parce que ces {} viennent plus souvent dans mes données. Existe-t-il un moyen d'effectuer une telle recherche?

Répondre

0

Pour les correspondances partielles: vous indexez les termes avec le Ngram tokenizef. Cela permettra également de faire correspondre des parties du terme.

Pour la partie regex: elle n'est pas utilisée trop souvent, mais Solr supports regex afin que vous puissiez exécuter la requête en créant une expression regex qui correspond à ce que vous voulez.

+0

merci pour votre réponse. Une idée dans l'indexation d'une telle chaîne d'entrée? – San

+0

a ajouté quelques infos supplémentaires – Persimmonium