2017-01-02 6 views
0

drupal-7と検索APIを使用してsolr 4.9を使用して1つの問題に直面しています。感嘆符(!)の組み合わせで検索すると、solrは空の結果を返します。"OMG!*"を検索するとSolrが空の結果を返す

例えば:

http://localhost:8983/solr/collection1/select?q=OMG!*&wt=json 

上記のクエリが空の結果を返します。しかし、文書内のこの単語にデータがある:私は言葉を開始する探していますとして

1. "tm_title": [ 
      "OMG! Ranveer Singh admits to having a 'Casting Couch' experience " 
     ] 
2. "tm_title": [ 
      "OMG! Rajinikanth was supposed to dub for 'Dangal'" 
     ] 

結果は、この文書の両方を返す必要があります「OMG!」 (*)が続きます。

EDITED: 以下は、druapl検索APIのタイトルフィールドの設定です。 enter image description here

+0

フィールドtm_titleに使用されているフィールドタイプを共有してください。検索はフィールドがどのように索引付けされているかによって異なります。 –

+0

うん、そのテキストタイプ。 – vijay

+0

fieldType ..fieldTypeの定義をアナライザとフィルタを定義する場所で共有するとよいでしょう.... schema.xmlで同じことがわかります –

答えて

2

ワイルドカードを使用している場合、アナライザシーケンスはほとんどスキップされます。コンテンツはおそらく "omg"(これは管理インターフェースの分析ページを使用して確認できます)のインデックスが付けられているため、 "OMG!"で始まるトークンとの照合を試みます。小文字フィルタがマルチテンポに対応しているので、おそらく "omg!"を検索します。

'!'あなたのワイルドカードから、あなたはたぶんヒットするか、ワイルドカードをまったくドロップします。

+0

はい...私も "!"で検索しようとしました。ワイルドカード...うまくいきません...たとえば、「Brava!」を検索すると... ...結果が表示されます。「Brava!」で検索すると、結果...良いキャッチMatsLindh ... –

+0

こんにちは@MatsLindh、私は "OMGで検索のみ!それは私の結果を返します。 – vijay

+0

はい、完全な解析チェーンが実行され、 '!'を取り除き、コンテンツがインデックスされたときと同じ処理を行うためです。ワイルドカードを使用している場合、その分析チェーンの複数のステップはスキップされます(マルチテアウェアであるフィルタを除く)。 - トークンは一致しません。 – MatsLindh

関連する問題