2017-12-07 3 views
0

私のDjangoプロジェクトでは、walrusを使用してロケーション名をキャッシュしています。 例:New Zealand、New York City、Newcastle e.t.c 「new」というキーを検索しているときに、上記の場所をすべて返すことを期待していますが、それはニューキャッスルだけです。しかし、私は 'n'または 'ne'をキーとして使用すると、これらのすべてを取得しています。どんな助けもありがとうございます。ワルラスは単語を正しく索引付けしていません

答えて

0

最後に、問題を発見しました.Walrusのオブジェクトを初期化すると、stopwords_fileを渡すオプションがあります。ライブラリ内に定義されているstopwords.txtというデフォルトのファイルを渡さない場合は、 このstopwords.txtファイルには、「新規」のように多くの単語がリストされていました。したがって、ストップワードファイルの単語がインデックスに登録された単語に含まれると、その特定の単語のインデックスは作成されません。

私の場合、「new」がstopwords.txtに存在しました。だから、「New York」を索引付けしたとき、「New York」という単語を「new」にマッピングしませんでしたが、それを「york」にマッピングしました。それで私は「新しい」と検索することができなかったのです。

私は、stopwords_fileが空のwalrus db検索オブジェクトを初期化することで解決しました。

関連する問題