8

ファセットとは何ですか?私が理解したのは、次のドキュメントがあるとします。

State  Country
karntaka India
Bangalore India
Delhi     India
Noida     India

フィールドの複数の同じ値を単一の値に折りたたみ、その値が発生した回数を返します。フィールド 'Country' で検索すると、明らかに India の 4 倍を取得しているため、 facet=on と facet.field=Country を保持し、 India を 1 回だけ取得するという動機がありますが、クエリを実行すると、むしろ
奇妙な結果 を得る

<lst name="responseHeader">
  <int name="status">0</int>
  <int name="QTime">6</int>
</lst>
<result name="response" numFound="4" start="0">
  <doc>
    <str name="country">India</str></doc>
  <doc>
    <str name="country">India</str></doc>
  <doc>
    <str name="country">India</str></doc>
  <doc>
    <str name="country">India</str></doc>
</result>
<lst name="facet_counts">
  <lst name="facet_queries"/>
  <lst name="facet_fields">
    <lst name="country">
      <int name="a">4</int>
      <int name="d">4</int>
      <int name="di">4</int>
      <int name="dia">4</int>
      <int name="i">4</int>
      <int name="ia">4</int>
      <int name="in">4</int>
      <int name="ind">4</int>
      <int name="indi">4</int>
      <int name="india">4</int>
    </lst>
  </lst>
  <lst name="facet_dates"/>
  <lst name="facet_ranges"/>
</lst>
</response>

誰でも理解するのを手伝ってくれますか。ありがとう

4

1 に答える 1

3

Washington, USAエントリがある場合、ファセットは の 4 つの結果Indiaと の 1 つの結果を報告しUSAます。

stringフィールド タイプを使用します。たとえば、インドをインデと綴る人々に役立つ可能性がある、小文字と n グラミングの (テキスト) フィールドを使用したようです。文字列フィールドはこのように処理されないため、ファセットされるフィールドに最適です。

于 2013-03-29T15:49:16.137 に答える