【问题标题】:Elastic search Unorderered Partial phrase matching with ngramElasticsearch无序部分短语匹配与ngram
【发布时间】:2018-12-05 18:11:17
【问题描述】:

也许我走错了路,但我正在尝试设置 Elasticsearch 以使用部分短语匹配从任何句子顺序返回部分单词。 例如。我有以下输入

  • 测试名称
  • 测试人员姓名
  • 命名测试
  • namey mcname face
  • 测试

我希望搜索“测试名称”(或“名称测试”),并希望所有这些都返回(希望按分数排序)。我可以进行部分搜索,也可以进行乱序搜索,但不能将两者结合起来。我相信这将是一个非常普遍的问题。

以下是我的设置

{
"myIndex": {
    "settings": {
        "index": {
            "analysis": {
                "filter": {
                    "mynGram": {
                        "type": "nGram",
                        "min_gram": "2",
                        "max_gram": "5"
                    }
                },
                "analyzer": {
                    "custom_analyser": {
                        "filter": [
                            "lowercase",
                            "mynGram"
                        ],
                        "type": "custom",
                        "tokenizer": "my_tokenizer"
                    }
                },
                "tokenizer": {
                    "my_tokenizer": {
                        "type": "nGram",
                        "min_gram": "2",
                        "max_gram": "5"
                    }
                }
            }
        }
    }
}

}

我的地图

{
"myIndex": {
    "mappings": {
        "myIndex": {
            "properties": {
                "name": {
                    "type": "text",
                    "fields": {
                        "keyword": {
                            "type": "keyword"
                        }
                    },
                    "analyzer": "custom_analyser"
                }
            }
        }
    }
}

}

还有我的查询

{
"query": {
    "bool": {
        "must": [{
            "match_phrase": {
                "name": {
                    "query": "test name",
                    "slop": 5
                }
            }
        }]
    }
}

}

任何帮助将不胜感激。 提前致谢

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    不确定您是否找到了解决方案 - 我敢打赌您找到了,因为这是一篇很老的帖子,但我正在寻找同样的东西并找到了这个:Query-Time Search-as-you-type

    查找斜坡。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-02
      • 2019-05-08
      相关资源
      最近更新 更多