フレーズの検索方法

私は "良い"または "マイクロ波"または "良いマイクロ波"を含んでいるすべての文書を得るために1つの回避策をとった。もしqパラメータとして「良いマイクロ波」を渡すなら、私は正しい方向に進むかどうかわからない。

私は2つのフィールドタイプ(text_generalとshingleString)を以下のように私のスキーマに定義しました


      
        
                
        
      
      
        
                
        
      
    


  
    
    
    
  
  
    
    
    
    
  

インデックス作成中に、これらのフィールドを次のような2つの異なるコピーフィールドに追加します。


    
     
    


    
     
    

そして、私は両方のフィールドSearchableFieldとSearchableField1を照会している場合、私は "良い"または "マイクロ波"または "良いマイクロ波"を含むすべてのドキュメントを取得しています。 以下は、すべてのドキュメントを取得するために使用しているクエリです。 q =検索可能なフィールド%3AGood +マイクロ波%0検索可能なフィールド1%3AGood +電子レンジ

しかし、「グッド・マイクロウェーブ」というフレーズ全体を含む文書は非常に低いスコアを得ています。 私のアプローチが正しければ、全体のフレーズを含むドキュメントで高いスコアを得るように、誰かが私を導くことができますか?

それとも誰かがこれを達成するために私を導くことができますか?

0

2 答え

'text_general'タイプのフィールドがある場合は、 検索:q =良い電子レンジ それらに「良い」または「電子レンジ」のいずれかの書類を見つけることができます。 検索対象:q = "良いマイクロ波" 両方の用語が互いに隣り合っている文書を見つけることができます。 q = "良い電子レンジ" ^ 5良い電子レンジはいずれかの用語を含む文書を見つけるが、隣り合った用語を含む文書を強調する。

0
追加された

こんにちはfrndを使用して簡単なクエリを使用することができます 'suggesterコンポーネント'のリクエストハンドラを使用してフィールドの型shingleStringを検索するためのフレーズ。

 http://localhost:8983/solr/suggest?wt=xml&indent=true&spellcheck=true&spellcheck.q=usrsearchphrase


 
  
    
    
    
  
  
    
    
    
    
  

0
追加された
こんにちは私は周りに1つの仕事をしました。私は質問を編集しました。それは正しいアプローチだと教えてください?
追加された 著者 Ppm,