2

クエリがあるとします:

(apples OR oranges) AND fresh location:cityGoesHere

デフォルトでは、haystack はデータが自動エスケープされる auto_query を使用するため、検索は次のように記録されます。

INFO: [collection1] webapp=/solr path=/select/ params={spellcheck=true&facet=on&fl=*+score&start=0&q=(\(apples+or+oranges\)+and+fresh+location\:cityGoesHere)&spellcheck.count=1&...

もちろん、Solr は「(」、「)」および「:」文字をリテラルとして扱うため、グループ化は行われず、テキスト全体がデフォルト フィールドに対して検索され、場所フィールドは無視されます。

クエリを解析し、そこからさまざまな部分を AutoQuery、Raw、Exact 入力タイプに割り当ててから、SearchQuerySets を連鎖させる以外に、干し草スタックを介して高度な solr 検索を実現する方法はありますか?

4

1 に答える 1

-1

私は主にRawhaystack入力を使用して独自の入力を作成することになりました。

唯一の欠点は、この入力がSolr固有の構文を使用しているため、他の検索バックエンドでは使用できないことです。


後で編集:

AltParserは、ExtendedDismaxパーサーと組み合わせて使用​​することもできます。バターのように機能します!

于 2012-08-17T10:41:03.567 に答える