如何使用原始关键字和已转换的关键字进行搜索? 我用Elastica索引了这样的数据:
id1: {
content: "Phòng tránh rủi ro",
content_canonical: "Phong tranh rui ro"
},
id2: {
content: "Phóng nhanh vượt ẩu",
content_canonical: "Phong nhanh vuot au"
},
id3: {
content: "Mô phỏng thực tế",
content_canonical: "Mo phong thuc te"
}
现在,当人们想要搜索关键字phòng
时,我想要搜索关键字phong
(从phòng
转换而来),但前者的得分应高于后者
如何使用FOSElasticaBundle或ElasticSearch进行操作?
答案 0 :(得分:1)
刚刚找到解决方案:
analysis:
analyzer:
post_analyzer:
tokenizer: lowercase
filter: [ standard, my_ascii_folding ]
filter:
my_ascii_folding:
type: asciifolding
preserve_original: true
然后post_analyzer
需要应用于字段content
。 <{1}}不需要content_canonical
,因为asciifolding
会自动执行此操作。