J'ai le scénario suivant. Supposons que j'ai une grande table comme celle-ci.Solr: Comment implémenter cette logique?
Id(unique) returnMe desc name value
1 user1 all those living in usa country USA
2. user2 all those like game game football
3. user1 my hobbies are hobby guitar
Maintenant, comment puis-je obtenir des résultats (returnMe) pour les requêtes suivantes.
1. For all those users who live in usa AND like guitar
2. For all those users who live in usa OR like guitar.
Veuillez ne pas modifier la requête de toute façon. Pour mon "solConfig.xml" desc "," nom "," valeur "sont des champs indexables et de recherche.
Merci pour toute aide.
Eh bien, je suis l'édition ceci pour expliquer ma logique ..
Step 1: Break query on AND like (live in USA) AND (like guitar)
Step 2: Then select returnMes from first query and returnMes from second query.
Step 3: Take common returnMes, returned from first query and second query.
Est-il possible Solr peut le faire. Pouvons-nous le faire à travers Solr "rejoindre" ou non ou d'une autre façon ?? Je veux faire ça dans mon PHP, ça serait énorme.
Hey Merci pour vos suggestions. J'ai un peu modifié ma question pour expliquer ma logique. Pouvez-vous s'il vous plaît regarder dans cela pour m'aider. – voila
Pourquoi fusionner manuellement les résultats? L'analyseur de requête Solr prend en charge la logique booléenne. Pourquoi ne pas simplement passer la requête '(vivre aux USA) ET (comme la guitare)' – femtoRgon
Parce que 'AND' essaie de trouver (vivre aux Etats-Unis) et (comme la guitare) document sage (les deux requêtes devraient être présentes dans le document). Par exemple - Si je fais simplement ET sur la table ci-dessus alors je n'obtiendrai aucun résultat parce que rien du document ne satisfait à la fois la requête. Mais mon exigence est d'obtenir "user1" pour interroger "vivre aux Etats-Unis et passe-temps est la guitare" .. Toute solution. Je suis coincé dans ceci: ( – voila