默认情况下,每当一个文档被添加到 Meilisearch,所有在其中发现的新属性都会自动添加到两个列表中:
这意味着默认情况下,文档中的每个字段都是可搜索和显示的。这些属性可以在设置中修改。
字段可以是可搜索的,也可以是不可搜索的。
在执行搜索时,所有可搜索的字段都会被检查是否匹配查询词,并用于评估文档相关性,而不可搜索的字段则完全被忽略。默认情况下,所有字段都是可搜索的。
对于与搜索体验无关的内部信息,比如 url、销售数字或专门用于排序结果的评级,非搜索字段最为有用。
即使您使一个字段不可搜索,它仍将保存在数据库中,以后可以再次使其可搜索。
Meilisearch 使用一个有序列表来确定哪些属性是可搜索的。这个列表中属性出现的顺序也决定了它们对相关性的影响,从最有影响力到最小。
换句话说,searchableAttributes 列表有两个用途:
searchableAttributes 列表有两种可能的模式。
默认情况下,所有属性按照外观顺序自动添加到 searchableAttributes 列表中。这意味着初始顺序将基于第一个文档索引中的属性顺序,每个新属性都在后续文档中添加到列表的末尾。
此默认行为由 searchableAttributes 值[”*”]指示。若要验证 searchableAttributes 列表的当前值,请使用 /indexes/:index_uid/settings/searchable-attributes。
如果您希望将可搜索属性列表恢复为此默认行为,只需将 searchableAttributes 设置为空数组[]。
在手动更新 searchableAttributes 列表之后,除非重置设置,否则将不再自动添加后续的新属性。
其属性添加到 displayedAttributes 列表的字段显示在每个匹配的文档中。在搜索时返回的文档只包含显示的字段。默认情况下,所有字段属性都按显示方式设置。因此,如果字段属性不在 displayed-attribute 列表中,则该字段将不会添加到返回的文档中。此列表可以限制为设置中选定的一组属性。
所有字段都存储在数据库中。此行为不能更改。因此,即使 displayedAttributes 列表和 searchableAttributes 列表中都缺少一个字段,它仍然存储在数据库中,并且可以随时添加到其中一个或两个列表中。