我使用API实现Solr搜索。当我使用参数" Chillout Lounge"来调用它时,它会返回与字符串" Chillout Lounge"相同/相似的集合。 但是当我搜索" Chillout Lounge Box"时,它返回的结果是没有这三个单词中的任何一个。(在DB中有值具有这3个值,但它们不是返回。)
据我所知,Solr使用模糊搜索,但是当它完成时它应该返回一些值,这些值至少有一个这样的值。
或者我应该对schema.XML进行可能的更改,这样会给我正确的值。
答案 0 :(得分:0)
首先 - “模糊搜索”是您必须要求的功能(在标准Lucene查询语法中使用~
)。
如果您正在谈论常规搜索,可以使用q.op
选择要使用的运算符。 q.op=AND
会确保所有字词都匹配,而q.op=OR
会生成包含至少一个字词的任何文档。只要你没有使用fq
,匹配更多术语的文档应该得分更高(因为得分将在多个术语中加起来),因此,在结果集中显示得更高。 / p>
您可以使用Web界面中的调试查询功能查看文档的每个术语的分数,并找出文档的返回原因。如果文档与任何条款不匹配,则不应退回,除非您要求退回所有文档。
请注意,为您搜索的字段定义的分析器链可能会影响被认为是匹配的内容。
您必须添加一个正确的示例才能获得更详细的答案。