Elasticsearch以下のいずれかのそれぞれを導入し、たとえばトークナイザフィールド、日付形式のために、検索モデルの選択は、設定パラメータにより達成されるいくつかの共通の特徴を達成するのに十分なフィールドマッピングパラメータマッピングパラメータの設定を、提供使用パラメータ。
1.アナライザ
アナライザは、索引付けおよび問合せのための有効な単語のテキストフィールド、のパラメータを指定します。トークナイザは、用語を複数のテキストの内容を入力します、クエリ語部門も同様に、同じ単語を照会したり、別の単語を解析およびインデックスによる文字列です。次のように、一例として、通常のIK中国語単語ik_max_wordの、タイトルフィールドに、分析パラメータ値、場合タイトルフィールドコンテンツ索引付けおよび問合せik_max_wordワード手段を使用し、マッピング構成です。
PUTのウェブサイト
{
"マッピング":{
"プロパティ":{
"題名":{
「タイプ」:「テキスト」、
"アナライザー": "ik_max_word"
}
}
}
}
このパラメータは、フィールドアナライザを照会することができ、インデックスレベルは、その優先順位(優先度がより前方)として指定されています。
フィールドトークナイザで定義されています
インデックスは、構成ワードブレーカーで定義されています
デフォルトのトークナイザ(標準)
クエリのコンテキストでは、単語の優先順位は見つけることです。
フルテキストクエリワードが定義されています
マッピングフィールドsearch_analyzerトークナイザで定義されて定義されたタイプ
アナライザトークナイザ定義されたカスタムフィールドタイプマッピング
索引語がdefault_search定義されています
インデックスは、デフォルトトークナイザによって定義されました
標準トークナイザ(標準)
2. search_analyzer
同じ単語は、クエリの構文解析インデックスの後の用語の一貫性を確保することであるとき、ほとんどの場合、インデックス作成と検索を指定する必要があります。しかし、時には、あなたは別のワードブレーカを指定する必要があります。例えば、フィルタedge_ngram自動補完を使用。使用クエリアナライザの属性は、デフォルトでワードブレーカを指定するだけでなく、search_analyzerをカバーすることができます。
例としては、次のとおりです:
PUTのウェブサイト
{
"設定":{
"分析":{
"フィルタ":{
"autocomplete_filter":{
"タイプ": "edge_ngram"、
"min_gram":1、
"max_gram":20
}
}、
"アナライザ":{
"オートコンプリート":{
「タイプ」:「カスタム」、
「トークナイザ」:「標準」、
"フィルタ":[
「小文字」、
"autocomplete_filter"
]
}
}
}
}、
"マッピング":{
"プロパティ":{
"題名":{
「タイプ」:「テキスト」、
「アナライザ」:「オートコンプリート」、
"search_analyzer": "標準"
}
}
}
}
タイトルフィールドは、セグメンテーションが行われるが、標準語を使用して検索されるオートコンプリートの単語を使用しています。文書の索引付け:
PUTのウェブサイト/ 1
{
「タイトル」:「クイックブラウンフォックス」
}
用語の逆索引によって生成されたタイトルフィールドには次のものがあります。
[Q、QU、QUI、QUIC、迅速、B、BR、BRO、眉、茶色、F、FO、キツネ]
1
3.正規化
こうした下ケースに全ての文字として標準化された構成、キーワードタイプの注意、前の分析のための正規化パラメータ。次の例は、カスタムの正規化文字列を解析する前にフィールドで使用されているfooの値は、正規化し、小文字に変換しました:
PUTのウェブサイト
{
"設定":{
"分析":{
"正規化":{
"my_normalizer":{
「タイプ」:「カスタム」、
"char_filter":[]、
"フィルタ": "小文字"、 "asciifolding"]
}
}
}
}、
"マッピング":{
"プロパティ":{
"FOO":{
「タイプ」:「キーワード」、
"正規化": "my_normalizer"
}
}
}
}
4.ブースト
右欄は、重量設定フィールドを後押しするために使用されます。このような重いフィールドのデフォルトの重量含有率が1である右のフィールド、中に内容が表示されるように重いの二倍右キーワードは重量のタイトルフィールドに表示される設定として、マッピングは次の通りです:
PUTのウェブサイト
{
"マッピング":{
"プロパティ":{
"題名":{
「タイプ」:「テキスト」、
"ブースト":2
}、
"コンテンツ":{
「タイプ」:「テキスト」
}
}
}
}
また、クエリの時点で体重を設定することができます。
POSTのウェブサイト/ _search
{
"クエリ":{
"一致":{
"題名":{
「クエリ」:「私は中国人です」
"ブースト":2
}
}
}
}
クエリ時間の推奨指定ブースト。インデックスの重み付けを設定するときは、インデックスを再構築していない場合には、重みを変更することはできません。クエリが指定された場合の重みは、重みがより柔軟な変更、同様の効果を得ることができます。
5.強制
ダーティデータを削除するための強制プロパティ、デフォルト値はtrueです。数字整数3-5文字列「5」または5.0 floatとして書き込むことができます。強制属性が明確な汚れデータ、文字列に使用することができ、および浮動小数点を整数にキャストされます。
6. copy_to
以来、カスタム_all copy_toパラメータフィールドの値は、スーパーフィールドのフィールドを複数にコピーすることができます。次の例では、コンテンツのタイトルやコンテンツのフィールドがマージされたfull_contentです。
PUTのウェブサイト
{
"マッピング":{
"プロパティ":{
"題名":{
「タイプ」:「テキスト」、
"copy_to": "full_content"
}、
"コンテンツ":{
「タイプ」:「テキスト」、
"copy_to": "full_content"
}、
"full_content":{
「タイプ」:「テキスト」
}
}
}
}
7. doc_values
doc_valuesパラメータは、ソートの速度、重合操作にあります。余分** **柱状のストレージマッピングを追加し、転置インデックスを構築するとき、それは時間のための練習スペースがあります。デフォルトでは、フィールドが重合に必要されていないか、省スペースdoc_valuesをオフにソートすることができる、です。
PUTのウェブサイト
{
"マッピング":{
"プロパティ":{
"状態":{
「タイプ」:「キーワード」
}、
"セッションID":{
「タイプ」:「キーワード」、
"doc_values":偽
}
}
}
}
注:テキストタイプはdoc_valuesをサポートされていません。
8.動的
フィールドは、動的マッピングを設定することによって自動的に追加できるかどうかを、以下のパラメータを受け入れます。
真:デフォルト値は、フィールドを自動的に追加されます
偽:新しいフィールドを無視します
厳密:strictモードでは、例外をスロー新しい分野を発見します
どのように使用するには:
PUTのウェブサイト
{
"マッピング":{
「ダイナミック」:「厳しいです」、
"プロパティ":{
"題名":{
「タイプ」:「テキスト」
}
}
}
}
有効9.
あなたがコントロールに有効なパラメータを使用することができ、その場合には、デフォルトのインデックスすべてのフィールド、とだけ店、クエリや需要の無い集約する必要があるいくつかのフィールドを、ES。falseにフィールドセットに有効な、ESスキップフィールドの内容は、フィールドの値が唯一_sourceから入手することができますが、それは検索できません、フィールドには、任意の型であってもよいです。例えば:
PUTのウェブサイト
{
"マッピング":{
"プロパティ":{
"名前":{
「有効」:偽の
}
}
}
}
10. fielddata
重合型のテキストフィールドがfielddataオンにすることができます。重合の分野で初めてfielddata、スクリプト生成を使用する場合にソートや。ESは、ディスク上のテーブル内のレコードを読み取ることによって、逆の関係にある文書の条項を再生成し、最終的にJavaのヒープメモリを並べ替えます。
fielddata属性テキストフィールドには、デフォルト、オープンfielddata消費するメモリでオフになっています。
PUTのウェブサイト
{
"マッピング":{
"プロパティ":{
"題名":{
「タイプ」:「テキスト」、
"fielddata":真
}
}
}
}
11.フォーマット
formatパラメータを使用してESは、日付の書式を指定します。
PUTのウェブサイト
{
"マッピング":{
"プロパティ":{
"インデックス":{
「タイプ」:「日付」、
"フォーマット": "YYYY-MM-DD HH:MM:SS || YYYY-MM-DD || epoch_millis"
}
}
}
}
12. ignore_above
指定された文字列の最大長は、最大の長さは、例えば、唯一のキーワードタイプを無視する超えます。
PUTのウェブサイト
{
マッピング:{
"プロパティ":{
"メッセージ":{
「タイプ」:「キーワード」、
"ignore_above":20
}
}
}
}
13. ignore_malformed
ignore_malformedは、不規則なデータを無視することができます。フィールドインデックス不適切なデータ型の例外に文書全体のインデックス作成が失敗した原因、発生します。ignore_malformedパラメータがtrueに設定されている場合、例外が他のフィールドが適切にインデックス化、異常なフィールドがインデックス化されることはありません、無視されます。
14.インデックス
フィールドがインデックス化されているかどうかをインデックス属性の指定は、それがインデックスを検索しません、trueまたはfalseに評価されます。
15. index_options
どのような情報は、インデックス制御指標反転パラメータindex_optionsに格納されます。セットタイトルフィールドを格納、次のように、文書番号、単語の頻度、単語の場所、開始および文字位置の用語の終わり、マッピングは次のとおりです。
PUTのウェブサイト
{
"マッピング":{
"プロパティ":{
"題名":{
「タイプ」:「テキスト」、
"index_options": "オフセット"
}
}
}
}
index_optionsパラメータ値テーブル:
パラメータの役割
ドキュメントは、ドキュメント数、デフォルト値を格納します
freqs店舗文書番号と語彙項目の頻度
オフセットませ文書の格納位置、用語頻度、オフセット項は、検索クエリとフレーズを閉じるために使用することはできません
オフセットオフセット文書番号、キーワード頻度、項目、保存されている文字位置の長期始まりと終わりの言葉の場所は、真の用途ポスティングの蛍光ペンに設定されています
16.フィールド
fieldsパラメータは、インデックスの多くの異なった方法がある同じフィールドを可能にします。例えば、以下のようにタイプテキストのフィールドは、中国語テキスト、ピンイン検索を取得するために使用することができ、マッピングは次のとおりです。
PUTのウェブサイト
{
"マッピング":{
"プロパティ":{
"題名":{
「タイプ」:「テキスト」、
"アナライザ": "ik_max_word"、
"search_analyzer": "ik_smart"、
"田畑":{
"ピンイン":{
「タイプ」:「テキスト」、
「アナライザー」:「ピンイン」
}
}
}
}
}
}
17.規範
ドキュメントのクエリの相関を計算するために、標準化文書の規範パラメータ。あなたがフィールドを獲得する必要がない場合は規範、有用なのは得点する一方で、より多くのディスク容量を消費しますが、それはオープン規範に最善ではありません。
18. NULL_VALUE
NULL値のフィールドがインデックス化されていないも検索することができ、NULL_VALUEパラメータは、インデックス値がnullのフィールドは、検索表示することができますことができます。例としては、次のとおりです:
PUTのウェブサイト
{
"マッピング":{
"プロパティ":{
"状態":{
「タイプ」:「キーワード」、
"NULL_VALUE": "NULL"
}
}
}
}
PUTのウェブサイト/ 1
{
「状態」:ヌル
}
PUTのウェブサイト/ 2
{
"状態":[]
}
GETのウェブサイト/ _search
{
"クエリ":{
"期間":{
"状態": "NULL"
}
}
}
ステータスがヌルであるため、1つのドキュメントは、検索することができる値は、空の配列状態ではなく、ヌルであるため、文献2には、検索することができません。
19.プロパティ
マッピングの種類、通常のフィールド、およびオブジェネストされたフィールドタイプをタイプはプロパティ(特性)と呼ばれる、これらの属性は、ネストされたオブジェクト・タイプおよび属性を含む任意のタイプのデータは、次の方法で添加することができるとすることができます。
インデックスを作成するときに明らかにそれらを定義します。
追加またはPUTマッピングAPIマッピングタイプを使用して更新するとき、明らかにそれらを定義します。
新しいフィールドを含むドキュメントのインデックスを作成する際に動的に追加。
20.類似
類似性パラメータは、文書のスコアリングモデルを指定するために使用され、3つのパラメータがあります。
BM25:ESとLuceneのデフォルトスコアリングモデル。
古典:TF / IDFスコアリングモデル。
ブール:スコアリングモデル。
PUTのウェブサイト
{
"マッピング":{
"プロパティ":{
"名前":{
「タイプ」:「テキスト」、
「類似性」:「古典的な」
}
}
}
}
21.ストア
デフォルトでは、フィールドがインデックス付け、あなたがのために検索することができますが、保存されていません。_sourceフィールドは、元の文書のコピーを保持しているため。いくつかのケースでは、このような元のファイル、唯一のいくつかのフィールドが必要な店舗を格納しないように理にかなっています。
PUTのウェブサイト
{
"マッピング":{
"_ソース":{
「有効」:偽の
}、
"プロパティ":{
"題名":{
「タイプ」:「テキスト」、
「店舗」:真
}、
"インデックス":{
「タイプ」:「日付」、
「店舗」:真
}、
"コンテンツ":{
「タイプ」:「テキスト」
}
}
}
}
22. term_vector
単語ベクトルが解析される以下の情報のテキストが含まれています。
語彙項目のセット
用語の位置
スタート文字は元の文書中の用語の位置にマッピングされています
値テーブルパラメータterm_vector:
パラメータ値意味
デフォルト値はありませんが、単語ベクトルを格納しません。
はい項目のちょうどコレクションが保存された単語
用語のストレージと長期位置with_positions
with_offsets用語と文字のオフセット
ストレージ語彙、用語の位置、文字オフセット位置with_positions_offsets
出典:https://blog.csdn.net/dwjf321/article/details/104003852