当前位置: 首页 > 知识库问答 >
问题:

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

欧阳睿范
2023-03-14

我们在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搜索不会给搜索匹配同义词。例如:搜索(“acl”)=

共有1个答案

龚振
2023-03-14

是否重写了Liferay中的类型映射?

尝试查找liferay类型映射。json。复制并跳过全部内容,并修改要使用同义词分析器的字段。

例如:。

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

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

 类似资料:
  • 我目前正在参与使用Liferay(6.1 GA2)的项目。Liferay搜索结果似乎提供了指向Web内容片段的链接,而不是指向包含这些片段的页面的链接。 你们中有人经历过这个问题吗?你知道怎么解决吗? 非常感谢朋友们。 最好的,阿尔贝托

  • 我已经使用Liferay搜索容器来显示自定义实体的数据,它正在工作。我有另一个portlet,其中数据来自RESTAPI,所以有没有任何方法可以使用搜索容器?或者我需要使用datatable。我的REST API有分页和无分页。

  • 我需要对以搜索词开头的搜索结果进行优先级排序。我用了“匹配短语前缀”。我用了“匹配短语前缀”。但它不起作用。 细节: > 质疑 结果

  • 我正在尝试使用SearchContext、IndexSearcherHelperUtil和所有其他东西,为Liferay 7.3.5 GA6开发一个定制的web内容搜索portlet。 我有一些不同字段的DDM结构,从我在elasticsearch索引上看到的,这些字段在嵌套文档中被索引,如下所示: 这与我以前知道的旧方法不同,在旧方法中,自定义字段被索引为 现在我明白了 以下是代码: 这仍然是一

  • 搜索词 关键参数 报告 method metrics(指标, 数据单位) 其他参数 搜索词 source/searchword/a pv_count (浏览量(PV)) pv_ratio (浏览量占比,%) visit_count (访问次数) visitor_count (访客数(UV)) new_visitor_count (新访客数) new_visitor_ratio (新访客比率,%)

  • 1.如何突出显示返回的搜索项或结果中的数据,例如ctr f在打开文件中使用普通项/元素搜索的方式。2.添加json自动完成,即当用户基于数据库数据在搜索栏中键入时给出建议这是我的视图代码,但它所做的只是返回结果,而没有真正突出显示搜索项。任何帮助pliza: @view_config(route_name=“search”,renderer='./templates/search.mako',pe