3

OR/AND を使用して関数クエリを実行しようとしていますが、これには制限があるようです。実行しようとしているクエリに相当する SQL のロジックは次のとおりです。

ABS(col1-:val1)<1 OR (col1 IS NULL AND ABS(col2-:val1)<1)

これは、ABS の差が 1 未満のドキュメントを取得するための、現在作業中の fq クエリです。

fq={!frange l=0 u=1}abs(sub(col1,val1))

これが私が実行しようとしているものですが、エラーなしではできません

fq={!frange l=0 u=1}abs(sub(col1,val1)) OR (-col1:[* TO *] AND {!frange l=0 u=1}abs(sub(col2,val1)))

関数クエリを使用する場合、同じ fq で and AND または and OR を使用することはできないようです。どうすればこれを行うことができますか?私はsolr 4.1を使用しています。ありがとう

4

2 に答える 2

0

試す

fq={!frange l=0 u=1 v=$myabs}&myabs=abs(sub(col1,val1))
于 2016-05-13T13:57:48.863 に答える