Comportamento curioso do fragment_size no elástico da pesquisa
TL; DR: Eu não entendo como o destaque está funcionando e, mais precisamente, comofragment_size
influencia o realce.
Em uma nova instalação do ES (1.4.2), estou criando um índice com as seguintes configurações:
{
"mappings" : {
"test": {
"properties": {
"content" : {
"type" : "string",
"analyzer" : "french"
}
}
}
}
}
Então, estou inserindo o seguinte documento:
{
"content": "Bon alors mettons que j'ouvre avec un sirop de huit. Si c'est vous qui avez siroté au tour d'avant, ça tourne dans votre sens. Soit vous laissez filer, vous dites file-sirop, soit vous vous sentez de relancer et vous annoncez un sirop de quatorze. Vous, comme on a commencé les annonces, vous avez pas le droit de laisser filer. Vous pouvez soit relancer un sirop de vingt-et-un, soit vous abandonnez le tour et vous dites couche-sirop. Ou sirop Jeannot, ça dépend des régions. Et après, soit on fait la partie soit je fais un contre-sirop, boum ! Et à partir de là, sirop de pomme sur vingt-et-un donc on fait la partie en quatre tours jusqu'à qu'il y en ait un qui sirote."
}
Por fim, estou consultando "couche-sirop" e destacando o resultado, com diferentes valores de N (fragment_size
):
{
"query": {
"query_string": {
"query": "\"couche-sirop\"",
"fields": [
"content"
],
"default_operator": "and"
}
},
"highlight": {
"number_of_fragments": 5,
"type": "plain",
"fields": {
"content": {
"fragment_size": N
}
}
}
}
Alguns resultados:
N = 15:[' <em>couche</em>', '-<em>sirop</em>. Ou sirop']
N = 16:[' et vous dites <em>couche</em>', '-<em>sirop</em>. Ou sirop']
N = 17:[' <em>couche</em>-<em>sirop</em>']
N = 18:[' et vous dites <em>couche</em>', '-<em>sirop</em>. Ou sirop']
N = 19:[' et vous dites <em>couche</em>-<em>sirop</em>']
Com maiores valores de N
N = 70:[' et vous dites <em>couche</em>-<em>sirop</em>. Ou sirop Jeannot, ça dépend des régions. Et après']
N = 71:[' <em>couche</em>-<em>sirop</em>. Ou sirop Jeannot, ça dépend des régions. Et après']
N = 72:[' un sirop de vingt-et-un, soit vous abandonnez le tour et vous dites <em>couche</em>', '-<em>sirop</em>. Ou sirop Jeannot, ça dépend des régions. Et après, soit on fait']
N = 73:[' de vingt-et-un, soit vous abandonnez le tour et vous dites <em>couche</em>-<em>sirop</em>']
Alguém pode explicar o porquê:
Com valores maiores de N, esperamos ter mais contexto, mas às vezes temos menos.Dependendo do valor de N, às vezes temos um fragmento, às vezes doisEu também tentei opostings
e afast vector
marcadores com os mesmos resultados
Obrigado !