如何找到与给定搜索词完全匹配但在不同搜索字段中的 solr 文档
how to find a solr doc which has a complete match of given search term but in different search fields
我想找到与给定搜索词的所有单词匹配的文档。
例如,我在 solr 中搜索以下字段。
- 产品名称
- 产品描述
- 产品摘要
当我搜索“我的第一个产品”时,我应该得到的文档在任何搜索字段中都有完整的术语,或者匹配发生在文档中的多个字段上。即我应该在结果中获得前两个文档。
示例数据:
{
“ProductName”: “My”,
"ProductDescription": “My First Product“,
"ProductSummary": “Summary”
},
{
“ProductName”: “My”,
"ProductDescription": “First”,
"ProductSummary": “Product”
},
{
“ProductName”: “Product”,
"ProductDescription": “First”,
"ProductSummary": “Nothing”
}
]
How should I achieve that in solr?
添加一个包罗万象的复制字段(在示例中,这可能配置在名称 _text_
下)。
然后您可以 use mm=100%
或 q.op=AND
以确保在搜索时匹配查询中的每个字词。 mm
需要 dismax
或 edismax
(推荐)查询解析器 (defType=edismax
)。
我想找到与给定搜索词的所有单词匹配的文档。
例如,我在 solr 中搜索以下字段。
- 产品名称
- 产品描述
- 产品摘要
当我搜索“我的第一个产品”时,我应该得到的文档在任何搜索字段中都有完整的术语,或者匹配发生在文档中的多个字段上。即我应该在结果中获得前两个文档。
示例数据:
{
“ProductName”: “My”,
"ProductDescription": “My First Product“,
"ProductSummary": “Summary”
},
{
“ProductName”: “My”,
"ProductDescription": “First”,
"ProductSummary": “Product”
},
{
“ProductName”: “Product”,
"ProductDescription": “First”,
"ProductSummary": “Nothing”
}
]
How should I achieve that in solr?
添加一个包罗万象的复制字段(在示例中,这可能配置在名称 _text_
下)。
然后您可以 use mm=100%
或 q.op=AND
以确保在搜索时匹配查询中的每个字词。 mm
需要 dismax
或 edismax
(推荐)查询解析器 (defType=edismax
)。