簡體   English   中英

在 Elasticsearch 中對同義詞評分相同

[英]score synonyms equally in Elasticsearch

我們可以在elasticsearch中對原始字符串和同義詞進行平均評分嗎?

例如。 我將同義詞文件創建為:

pvt, 私人

有限公司,有限公司

我使用同義詞標記過濾器創建了一個索引。 然后我索引了兩個文檔:

curl -XPOST "http://localhost:9200/test1/test?pretty" -d 
    '{ "entityName" : "ABC International Pvt Ltd"}'

curl -XPOST "http://localhost:9200/test1/test?pretty" -d 
    '{ "entityName" : "ABC International Private Limited"}'

現在,當我搜索“ABC International Pvt Ltd”時,第一個文檔的得分為 1.15,第二個文檔的得分為 0.57。

有沒有辦法平等對待同義詞?

使用以下設置創建索引:

curl -XPUT 'localhost:9200/test1?pretty' -H 'Content-Type: application/json' -d'
{
    "settings" : {
        "index" : {
            "analysis":{
                "analyzer":{
                    "my_analyzer":{
                        "tokenizer":"standard",
                        "filter":["asciifolding", "standard", "lowercase", "my_metaphone", "synonym"]
                    }
                },
                "filter":{
                    "my_metaphone":{
                        "type":"phonetic",
                        "encoder":"metaphone",
                        "replace":false
                    },
                    "synonym" : {
                      "type" : "synonym", 
                      "synonyms_path" : "synonyms.txt",
                      "ignore_case" : "true"
                    }
                }
            }
        }
    }
}'

在創建索引時添加映射完成了這項工作。 如果沒有映射,甚至沒有應用同義詞標記過濾器。 下面是我用來創建索引的命令。

curl -XPUT 'localhost:9200/test1?pretty' -H 'Content-Type: application/json' -d' 
{
"settings" : {
  "analysis":{
    "filter":{
      "my_metaphone":{
        "type":"phonetic",
        "encoder":"metaphone",
        "replace":false
      },
      "synonym" : {
        "type" : "synonym", 
        "synonyms_path" : "synonym.txt",
        "ignore_case" : "true"
      }
    },
    "analyzer":{
      "my_analyzer":{
        "type":"custom",
        "tokenizer":"standard",
        "filter":["asciifolding", "standard", "lowercase", "my_metaphone", "synonym"]
      }
    }
  }
},
"mappings": {
  "test": {
    "properties": {
      "text": {
        "type": "text",
        "analyzer": "my_analyzer", 
        "search_analyzer": "my_analyzer" 
      }
    }
  }
}
}'

暫無
暫無

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

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