「fieldname:query」構文を使用せずにクエリが特別なフィールドで見つかった場合、Solr3.4で検索結果を増やすことができるかどうか疑問に思っています。
説明させてください:
インデックスにいくつかのフィールドがあります。そのうちの1つは「略語」という名前で、AVZ、JSP、DECTなどのテキストで埋められています...
純粋に「AVZ」を検索したときに結果を見つけることができるように、私は追加しました
<copyField source="abbreviation" dest="text"/>
私のschema.xmlで。フィールドテキストは私のdefaultSearchFieldです。
これは私の意見では最善の解決策ではありません。そこで、すべてのフィールドで「AVZ」を検索でき、フィールドの省略形で文字列が見つかった場合は、結果エントリをブースト(スコアを上げる)して、次の場所にリストされるようにする必要があるかどうかを調べようとしています。結果リストの最初のエントリ。クエリとしてabbreviation:AVZAVZを使用するのと同じになります。
私が考えることができる他の可能性は、クエリを分析することです。また、「AVZ」のような部分文字列が見つかった場合、クエリには略語:AVZが追加されます。しかし、この場合、どの略語が索引付けされているかを知ることができなければなりません。SolrJを使用してSolrインデックスからフィールドのすべての可能な用語を取得することは可能ですか?
よろしくトビアス