使用禁用词过滤器调整单词位置

时间:2018-02-17 14:22:19

标签: elasticsearch

Elasticsearch的禁用词过滤器维护单词位置:https://www.elastic.co/guide/en/elasticsearch/guide/current/using-stopwords.html#maintaining-positions

例如,这是我的分析器:

"myAnalyzer": {
    "tokenizer": "standard",
    "filter": ["asciifolding", "french_elision", "lowercase", "french_stop", "french_stemmer"]
}

在这里分析我的字符串:

curl -XGET 'localhost:9200/_analyze?pretty=true' -d '{"analyzer": "myAnalyzer", "text": "instruments de musique"}'
Index 339 documents...
{
  "tokens" : [ {
    "token" : "instrument",
    "start_offset" : 0,
    "end_offset" : 11,
    "type" : "<ALPHANUM>",
    "position" : 0
  }, {
    "token" : "musiqu",
    "start_offset" : 15,
    "end_offset" : 22,
    "type" : "<ALPHANUM>",
    "position" : 2
  } ]
}

有没有办法调整位置,所以“musique”这个词会在第1位而不是2位?

我的问题来自阶段查询。

1 个答案:

答案 0 :(得分:0)

您可以尝试将query_string与#include <stdio.h> int mdc(int a, int b) { while (a != b) { if (a > b) a = a - b; else b = b - a; } return a; } int main() { int a, b; printf("Valores mdc: \n"); scanf("%d %d\n", &a, &b); printf("%d\n", mdc(a,b)); return 0; } 一起使用 像

这样的东西
enable_position_increments:false