[解決済み] Elasticsearchにおけるハイライト
2022-02-19 13:44:40
質問
これは私のelasticsearchクエリです。
GET indexname/_search
{
"fields": ["_id", "url","T"],
"query" : {
"bool": {"should": [
{"simple_query_string": {
"query": "white",
"fields": ["T", "content"]
}}
]}
},
"highlight" : {
"pre_tags": ["<b>"],
"post_tags": ["</b>"],
"fields" : {
"content" : {"fragment_size" : 150, "number_of_fragments" : 1}
}
}
}
私の elasticsearch クエリは、フィールド "T" と "content" で白を検索しており、フィールド "content" をハイライトして pre and post タグ b(bold) を挿入しているのですが、これはどうでしょうか? これは、私のクエリの結果です。
"hits": {
"total": 922,
"max_score": 2.369757,
"hits": [
{
"_index": "indexname",
"_type": "Searchtype",
"_id": "http://www.example.com/de/unternehmenssuche-white-paper",
"_score": 2.369757,
"fields": {
"T": [
"White Paper Unternehmenssuche"
],
"url": [
"http://www.example.com/de/unternehmenssuche-white-paper"
]
},
"highlight": {
"content": [
"/Anwendungsbeispiele Ressourcen Blog <b>White</b> Papers in Deutsche Downloads Wiki Unternehmen Vorstellung der Search Executive"
]
}
}
....
...
ハイライトの結果を次のようにしたい。
"highlight": {
"content": [
"<b>...</b> /Anwendungsbeispiele Ressourcen Blog <b>White</b> Papers in Deutsche Downloads Wiki Unternehmen Vorstellung der Search Executive <b>...</b>"
]
}
を追加したい。
<b>...</b>
ハイライトコンテンツの前後に 結果をこのように表示するには、elasticsearchクエリに何を追加すればよいのでしょうか?ご教示いただければ幸いです。
解決方法は?
コメントにも書きましたが、これはElasticsearchではできないと思います。Highlighterはマッチした単語をハイライトするだけで、それ以上の後処理は行いません。 Elasticsearch 2.3 のドキュメント を作ることができるかもしれません。)
とにかく、私の論理的なアプローチとしては
<b>...</b>
タグは、HTML コードをレンダリングするときに使用します。
{{ foreach hit in hits }}
<b>...</b> hit[content] <b>...</b>
{{ endfor }}
このようなもので、お使いのテンプレートに合わせて変更してください。
関連
-
[解決済み] クラスタのインデックスの名前を変更する方法は?
-
[解決済み] Elasticsearchです。ローカルホストのポート9200への接続に失敗 - 接続拒否
-
[解決済み] Elasticsearch : ルートマッピングの定義にサポートされていないパラメータがある index : not_analyzed
-
[解決済み] elasticsearchで個数ではなく、明確な値を検索する。
-
[解決済み] SQLのサブクエリに相当するElasticSearchの機能は何ですか?
-
[解決済み] エラスティック検索クエリの完全一致
-
[解決済み] Elasticsearchでクエリをフィルタリングする適切な方法とは?(フィルタ vs フィルタリングされたクエリ)
-
[解決済み] kibanaからcsv/excelへのエクスポート
-
[解決済み] LuceneとElasticsearchの違いは何ですか?
-
[解決済み】Elasticsearchエラー:cluster_block_exception [FORBIDDEN/12/index read-only / allow delete (api)], flood stage disk watermark exceeded.
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] クラスタのインデックスの名前を変更する方法は?
-
[解決済み] Elasticsearchです。ローカルホストのポート9200への接続に失敗 - 接続拒否
-
[解決済み] Elasticsearch : ルートマッピングの定義にサポートされていないパラメータがある index : not_analyzed
-
[解決済み] エラスティックサーチのインストールされているバージョンをkibanaから知るには?
-
[解決済み] ElasticSearch - 一意な値を返す
-
[解決済み] elasticsearchで個数ではなく、明確な値を検索する。
-
[解決済み] SQLのサブクエリに相当するElasticSearchの機能は何ですか?
-
[解決済み] ElasticSearchのキーワードフィールドの「Fielddata is disabled on text fields by default」を修正する方法
-
Elasticsearch 5.Xで集計する際、テキストフィールドのFielddataはデフォルトで無効化されます。
-
[解決済み】Elasticsearchエラー:cluster_block_exception [FORBIDDEN/12/index read-only / allow delete (api)], flood stage disk watermark exceeded.