elasticsearch Liferay搜索未给出同义词搜索结果?,elasticsearch,liferay,liferay-dxp,elasticsearch,Liferay,Liferay Dxp" /> elasticsearch Liferay搜索未给出同义词搜索结果?,elasticsearch,liferay,liferay-dxp,elasticsearch,Liferay,Liferay Dxp" />

elasticsearch Liferay搜索未给出同义词搜索结果?

elasticsearch Liferay搜索未给出同义词搜索结果?,elasticsearch,liferay,liferay-dxp,elasticsearch,Liferay,Liferay Dxp,我们在Liferay DXP和Elasticsearch 2.2.0中有一个自定义搜索portlet。我们在elasticsearch设置中为同义词搜索添加了以下设置 { "index" : { "analysis" : { "analyzer" : { "synonym" : { "tokenizer" : "whitespace", "filter" : ["synonym"]

我们在Liferay DXP和Elasticsearch 2.2.0中有一个自定义搜索portlet。我们在elasticsearch设置中为同义词搜索添加了以下设置

{
"index" : {
    "analysis" : {
        "analyzer" : {
            "synonym" : {
                "tokenizer" : "whitespace",
                "filter" : ["synonym"]
            }
        },
        "filter" : {
            "synonym" : {
                "type" : "synonym",
                "synonyms_path" : "analysis/synonym.txt"
            }
        }
    }
}}
我们还使用以下代码验证是否将同义词分析器添加到索引中

curl -XPOST 'localhost:9200/liferay-20116/_analyze?pretty' -H 'Content-Type: application/json' -d'
{
  "analyzer": "synonym",
  "text":     "acl"
}
'

这将给出synonyms.txt文件中acl的所有同义词的结果。但是Liferay搜索不会给同义词搜索命中率。对于ex:searchacl=>在synonyms.txt文件中不提供其同义词的结果。

是否覆盖了Liferay中的类型映射

尝试查找liferay-type-mappings.json。 复制并跳过全部内容,并修改要使用同义词分析器的字段

例如

然后将整个修改后的映射放在“覆盖类型映射”字段中

"title_en_US": {
    "store": true,
    "term_vector": "with_positions_offsets",
    "type": "text",
    "search_analyzer" : "synonym_analyzer",
    "analyzer" : "synonym_analyzer"
},