SOLR を使用した検索に問題があります。私のスキーマは次のように定義されています。
<field name="_root_" type="string" indexed="true" stored="false"/>
<field name="_text_" type="text_general" multiValued="true" indexed="true" stored="true"/>
<field name="_version_" type="long" indexed="true" stored="true"/>
<field name="deleted" type="booleans" indexed="true" stored="true"/>
<field name="description" type="strings" indexed="true" stored="true"/>
<field name="favorites_count" type="tlongs"/>
<field name="id" type="string" multiValued="false" indexed="true" required="true" stored="true"/>
<field name="image" type="strings"/>
<field name="ingredients" type="strings" multiValued="true" indexed="true" stored="true"/>
<field name="level" type="tlongs"/>
<field name="portions" type="tlongs" indexed="true" required="true" stored="true"/>
<field name="preparation" type="strings"/>
<field name="rating" type="tdoubles"/>
<field name="ratings_count" type="tlongs"/>
<field name="subject" type="strings" indexed="true" required="true" stored="true"/>
<field name="visible" type="booleans" indexed="true" stored="true"/>
問題は、「成分」フィールドで検索を実行しようとしたときです。
主なクエリ:
q=(件名:"フレーズ検索入力" OR 説明:"フレーズ検索入力") AND 成分:("いくつかの成分フレーズ")
または成分:searchWord
components パラメーターを指定しないクエリは問題なく動作し、正しい結果が出力されます。
ただし、成分のフィルタリングに関しては、fqを使用していても、クエリ文字列で直接使用していても、間違っているか、まったく結果が得られません。
成分フィールドには、次のようなデータがあります。
材料:[ 材料 1、材料 2、材料 3 フレーズ ]
もう 1 つの問題は、成分に「(」または「)」文字が含まれていて、そのようなフレーズを検索している場合です。一致しません。
SOLR バージョン: 5.3
誰でもこれについて私を助けることができますか?
ありがとうございました!