0

ここで何かが欠けているに違いありませんが、Elasticsearch を使用して検索で強調表示しようとすると、強調表示がまったく表示されませんが、エラーも表示されません。タイヤの問題ではないと思いますが、重要な場合に備えてタイヤについて言及します。Tire を使用したインデックス作成は非常に単純です (簡潔にするために一部のフィールドを省略しています)。

mapping :_source => { :excludes => ['attachment'] } do
  indexes :id, :type => 'integer'
  indexes :title, :store => true
  indexes :attachment, :type => 'attachment', :_source => { :enabled => false }
end

curl を使用して、次のクエリを試すことができます。これは正常に機能しますが、結果に強調表示はありません。

curl -XPOST http://localhost:9200/myobject/_search\?pretty\=true -d '{             
  "query": {"query_string": {"query": "foobar"}},
  "highlight": {"fields": {"Title":{}}}
}'

念のためにマッピングに「:store => true」を追加したことに注意してください。ただし、強調表示を機能させる必要はないと思います。したがって、マッピングまたはクエリ仕様のいずれかで何かが欠けていると思いますが、それはわかりません。どんな提案でも大歓迎です。ありがとう。

4

1 に答える 1

2

フィールド名は、elasticsearch では大文字と小文字が区別されます。Titletitleは 2 つの異なる分野です。このクエリを試してください:

curl -XPOST http://localhost:9200/myobject/_search\?pretty\=true -d '{             
  "query": {"query_string": {"query": "foobar"}},
  "highlight": {"fields": {"title":{}}}
}
于 2012-08-10T18:52:41.280 に答える