1

http://elasticsearch-dsl.readthedocs.io 0.0.10 および ES 1.7.3を使用しています。

検索中に奇妙な動作に直面しました。「すべき」クエリに渡すいくつかの単語が検索を中断し、検索でその単語が見つかりません (コンソールで確認できます) だけでなく、他の多くの単語も見つかりません。

以下のコードでは、"should" クエリは 1000 句で構成されています。私の推測では、この単語は語彙に含まれていません (私はロシア語と英語の形態学構成を使用しています)。したがって、これらの「問題のある」単語を削除すると、検索が再び機能します。

これは非常に奇妙です-「問題のある」単語をテストしたhttps://django-haystack.readthedocs.io/en/v2.5.0/index.htmlところ、ESはそれらを見つけることができました....

for i in eat_search_raw_list_1024:
    q = Q('bool',
        #must=[Q('match', text='BBQ')],
        should=[(Q("match", text="\'bad service\'~3") | Q("match", text="\'bad eat\'~3")  .........1000 more................],
        minimum_should_match=1, 
        _name=name_query 
    )            
    s = Search(using=client, index="haystack").query(q).query(~Q("match", text=minus_words))    
    s = s.highlight('text', fragment_size=50)  
    response = s.execute()
4

0 に答える 0