簡體   English   中英

彈性搜索與ngram匹配的無序部分短語

[英]Elastic search Unorderered Partial phrase matching with ngram

也許我走錯了路,但是我試圖將Elasticsearch設置為使用部分短語匹配來從句子的任何順序返回部分單詞。 例如。 我有以下輸入

  • 測試名稱
  • 測試人員姓名
  • 名稱測試
  • 麥凱南
  • 測試

我希望搜索“測試名稱”(或“名稱測試”),並希望所有這些都返回(希望按分數順序排序)。 我可以進行部分搜索,也可以進行無序搜索,但是不能將2相結合。我確信這將是一個非常普遍的問題。

以下是我的設置

{
"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
                }
            }
        }]
    }
}

}

任何幫助將不勝感激。 提前致謝

不知道您是否找到了解決方案-我敢打賭,您這樣做是因為這是一篇很老的文章,但是我一直在尋找相同的東西,並且發現了這一點: Query-Time-as-you-type

查找斜坡。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM