2017-03-22 12 views
0

説明フィールドにString Kansas Cityを探しています。
"q":"description: *Kansas City*"ですが、私はカンザスとシティの両方の結果を得ています。また、コンテンツフィールドからも結果を取得しています。なぜ私はコンテンツフィールドから結果を取得しているのか分かりません。私の質問に誤りがある場合は、私に提案してください。Solrの検索が正しく機能しない

答えて

1

あなたが引用は例えば

description:"kansas city" 

間違っている

のための星は何ですか?

+0

文字列カンザスシティは説明の途中です –

+0

ああ、*の使用はあなたのパフォーマンスに打撃を与えます。あなたのクエリを引用符で囲むだけで、そのトリックを実行する必要があります。solrは、一致した場合に単語の位置を使って解決します。 –

0

クエリをトークン化して解析した後は、kansas cityが "kansas"と "city"にトークン化され、フィルタはフィールドタイプ定義ごとに適用されます。 指定されたフィールド名で検索されます。トークン化/ワード分割後

description:*Kansas

、「市は」あなたはフィールド名を指定しなかったため 別の単語になります。これはデフォルトで、あなたがあなたのブラウザでURLを持つ上=同じdebugQueryを見ることができcontent:citydescription:kansasを解析した後、あなたのケースで

defaultsearchfield:city*

を(あなたのケースでcontentであってもよいとする)defaultfieldで検索されます。

関連する問題