2016-03-30 4 views
2

LinuxボックスでOpen Search Serverを使用しています。あらゆる検索のファセット結果の数が、インデックス内の文書の数に制限されているように見えることを除いて、すべてが正常に実行されていますが、これは正しくありません。Open Search Server:インデックス内の文書数に制限されたファセット用語

私はユーザーのインデックスを作成しており、ユーザーにはタグがあります。現在、データベースには2人のユーザーがおり、5つの異なるタグでタグ付けされています。ただし、両方のユーザーを返す検索を実行すると、ファセットとして2つの異なるタグのみが返されます(5が必要です)。 3番目のユーザーをインデックスに追加すると(新しいユーザーには0個のタグがあります)、検索で3個のタグがファセットとして返されます。

私が知る限り、これはファセットの問題に過ぎません。私は5つのタグのいずれかで正常にフィルタリングすることができ、5つのタグすべてのテキストを正常に検索できます。

マイ指数:

user_1 | tag_1, tag_2, tag_3, tag_4 
user_2 | tag_2, tag_4, tag_5 

は、 "検索":用

Results: 
    user_1 
    user_2 

Facets Actually Returned: 
    tag_1 (1) 
    tag_2 (2) 

Facets That Should Be Returned: 
    tag_1 (1) 
    tag_2 (2) 
    tag_3 (1) 
    tag_4 (2) 
    tag_5 (1) 

検索 "" tag_5:

Results: 
    user_2 

Facets Actually Returned: 
    tag_1 (0) 
    tag_2 (1) 

Facets That Should Be Returned: 
    tag_1 (0) 
    tag_2 (1) 
    tag_3 (0) 
    tag_4 (1) 
    tag_5 (1) 

は、誰もがこの前に遭遇していますか?提案がありますか?

編集:説明する必要があります。多値は、ファセットではyesに設定されています。

+0

これについてのヘルプが表示されない場合は、おそらくOSSの代替案を検討する必要がありますか? – ktamlyn

答えて

0

OpenSearchServerには、ファセットを計算する2つの方法があります。 「単一値法」および「多値法」。

検索要求を編集し、 "複数値"を "はい"に設定します。

enter image description here

多値フィールドの2つの実装もあります。 1つは "TermDocs"機能を使用し、もう1つは "TermVectors"を使用します。

https://github.com/jaeksoft/opensearchserver/blob/master/src/main/java/com/jaeksoft/searchlib/facet/Facet.java

再度データあなたの多面的なフィールドとインデックスに(はいに設定)TermVectorを有効にする必要がTermVectorsに基づくものをテストします。

+0

ありがとう、それは良い推測ですが、私はすでに多面的にyesに設定しています。 –

+0

私は、多値ファセットのTermVectorベースの実装の使い方を指示を追加することで答えを編集します。 "TermDocs"がバグであるかもしれません..(私はこの点を調べています..) –

+1

うん。 TermVectorを使用して固定しました。後で説明する人には、TermVectorをインデックススキーマに設定することができます。 –

関連する問題