現在、elasticsearchバックエンドでhaystackを実行しています。部分的な単語検索を正しく実行するのに問題があります。
現在、EdgeNgramFieldを持つインデックスがあります。このフィールドで検索を試みましたが、完全に一致しない限り結果が見つかりません。これを使用して商品を検索しようとしているので、たとえば、「sun」と入力すると、「sunglasses」の結果が得られません。
私はelasticsearchで直接curlコマンドを使用して、何が起こっているのかを理解できるかどうかを確認し始めました。ngramアナライザーと一緒にcurlを使用して独自のインデックスを直接作成し、部分的な単語検索を使用して適切な結果を受け取ります。
もう1つの興味深い点は、curlを使用して直接作成したelasticsearchでテストインデックスに対してcurlを使用して_mappingコマンドを直接実行すると、次のようになります。 "testfield":{"type": "string"、 "analyzer": "test_analyzer"}ただし、haystackによって作成されたインデックスに対してmappingコマンドを実行すると、 "type":"string"しかありません。使用すべきedgengram_analyzerについては何も述べていません。
何か案は?