Question

Nous utilisons Solr pour rechercher des articles de différentes longueurs. Nous index à la fois des métadonnées descriptives (titre, auteur, catégorie, mots-clés, etc.) et le texte de l'article complet. Nous ne dope pas la pertinence au moment de l'indice -. Tous les boosts sont effectués au moment de la requête (nous utilisons dismax, couplé avec divers QF, pF, et booste bf)

Actuellement, notre champ texte intégral utilise la norme omitNorms = false; et par conséquent, tous égales, des articles plus courts (articles 2-3 pouces de colonne) auront fréquemment intérêt plus élevé que plus longs métrages (articles de plusieurs pages).

Dans notre cas la longueur de l'article est un indicateur significatif de la pertinence, et donc j'envisage de créer omitNorms = true sur notre champ texte intégral.

Questions: 1. Pourquoi le comportement par défaut Lucene / Solr pour booster les longueurs plus courtes sur le terrain ELEVES? Quel est le raisonnement? 2. Pourquoi voudrais-je pas omitNorms? Je ne ai pas besoin pour stimuler les requêtes sur ce domaine particulier, ni utiliser tout type de facettage sur ce champ.

Était-ce utile?

La solution

Question 1:

Renforcement des longueurs plus courtes sur le terrain sur des longueurs de terrain supérieur doit faire avec un concept fondamental de la détermination de la pertinence du document intitulé TF-IDF (voir http://en.wikipedia.org/wiki/Tf%E2%80%93idf ). A titre d'exemple court, pensez à votre recherche a donné deux documents: le premier est 100 mots et le second est de 1000 mots. Chacun contient votre mot-clé de recherche une fois. Depuis le mot-clé dans le premier document était de 1% du texte, le court document est jugée plus pertinente à votre recherche que le long document, le mot-clé recherché était de 0,1% seulement du texte.

Question 2:

Il semble que selon vos besoins, vous voudrez peut-être essayer de ne pas les normes. Toutefois, cela peut fausser les résultats de la recherche de façons que vous ne penserez pas. Il se pourrait que vous avez recours à certaines des belles propriétés de normalisation de longueur et ne le savais pas. Une autre approche pourrait être de fait la longueur du document de magasin comme une sorte de champ d'étiquette tels que des documents d'étiquetage comme « court », « moyen » et « long » et stimuler les documents qui correspondent à long ou à moyen et long ou autre. Cela permettrait également de donner à vos utilisateurs finaux la possibilité de filtrer sur la longueur du document lors de leurs recherches.

Encore une fois, quand je mentionne belles propriétés de normalisation de la longueur, vous pourriez penser des cas où un article super long existe que les touches sur 10 sujets différents, dont 1 correspond à la recherche ou un long article de l'utilisateur existe qui parle de seulement 1 sujet , celui qui était recherché. Dans ce cas, vous préféreriez probablement le long article sur l'article super long (même si l'article super long apparié la recherche par mot clé plusieurs fois). Tout dépend plus de vos données et vos cas d'utilisation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top