0

現在、ファセット機能を最大限に活用するために、サイト全体でsolr3.4dismaxクエリを使用しています。

クエリの結果から特定の単語を強調表示するように求められました。

たとえば、正しい110個のドキュメントを見つける次のクエリがあります。

http:// localhost:8080 / apache-solr-3.4./select/?qt=dismax&mm=100%25&rows=10&start=0&fq=productType%3Abooks

また、以下を使用すると、同じ数のドキュメントが見つかりますが、強調表示されたセクションはありません。

http:// localhost:8080 / apache-solr-3.4./select/?qt=dismax&mm=100%25&rows=10&start=0&fq=productType%3Abooks&hl=true&hl.q=java&hl.fl=descriptions&hl.snippets=1000&hl.simple pre =%3Cb%3E&hl.simple.post =%3C%2Fb%3E&hl.fragsize = 120

上記のクエリでは、強調表示パラメーターを追加し、numFound(110)に影響を与えることなく、ドキュメントで強調表示したい単語を渡すために使用できると思ったhl.qを使用しました。ただし、これは当てはまらないようですが、q = javaを追加すると、クエリは強調表示されたテキストを含むフィールドを返しますが、numFoundは影響を受けます。

誰かが私がどこで間違っているのか見ることができますか?Solrはこのタスクを達成できますか、それとも後で結果を処理する必要がありますか?

4

1 に答える 1

1

hl.qパラメーターに関するSolrWikiのドキュメントによると、これはSolrバージョン3.5以降でのみ使用可能です。3.4で実行しているので、これはおそらくあなたが経験している振る舞いの説明です。

于 2012-05-09T16:19:43.123 に答える