Azure Search-검색 가능한 값에 문장 구분 기호가있는 경우 검색 강조 표시 값이 중단됩니다.

충실히

안녕하세요, Azure 검색 팀,

질문이 큰 것 같으면 미안하지만 질문을 장황하게 보일 수있는 데이터로 설명하고 싶었습니다.

저는 PowerBI 팀 출신이며 Azure Search에있는 Search Highlight 기능의 설명서를 기반으로 질문이 있습니다.

어제 아래와 같은 샘플 문서를 사용하여 Azure 기반 검색 인덱스를 만들었습니다.

"DocumentId": "257d13f0-ea1f-412f-9858-baa49b35f6b5",
"ModelId": "78869cb7-352e-4415-911e-464308c6d8d9",
"TableId": "Employees",
"ColumnId": "Details",
"ColumnValues": [
    "Boston Massachusetts",
    "Tampa Florida",
    "Palo Alto California",
    "Sentenceeeeeeeeeeeeeeeeeeeeeee with 101 characters tokenwith50characterssssssssssssssssssssssssssssss",
    "Data is repeated Data is repeated Data is repeated",
    "Data is repeated. Data is repeated. Data is repeated.",
    "Washington",
    "Washington D.C"
]

" ColumnValues" 검색 할 수 있습니다. 또한, 반복의 값을 통지 ColumnValues[4]하고 ColumnValues[5](.)와 함께 영어 문장 분리없이 (0에서 시작 인덱스를 가정).

이제 사용자가을 검색 "Data"하면 아래 검색 쿼리를 Azure Search에 전달합니다.

\"/.*Data.*/\" &queryType=full &highlight=ColumnValues-100&highlightPreTag=''&highlightPostTag=" &searchMode=any &$top=1500 &$count=true

다음은 검색 포털에서 Azure Search API의 응답입니다.

{
    "@odata.context": "https://huynazuresearch1.search.windows.net/indexes('columnbasedindex')/$metadata#docs(*)",
    "@odata.count": 1,
    "value": [
        {
            "@search.score": 1,
            "@search.highlights": {
                "ColumnValues": [
                    "''Data\"  is repeated ''Data\"  is repeated ''Data\"  is repeated",
                    "''Data\"  is repeated.",
                    "''Data\"  is repeated.",
                    "''Data\"  is repeated."
                ]
            },
            "DocumentId": "257d13f0-ea1f-412f-9858-baa49b35f6b5",
            "ModelId": "78869cb7-352e-4415-911e-464308c6d8d9",
            "TableId": "Employees",
            "ColumnId": "Details",
            "ColumnValues": [
                "Boston Massachusetts",
                "Tampa Florida",
                "Palo Alto California",
                "Sentenceeeeeeeeeeeeeeeeeeeeeee with 101 characters tokenwith50characterssssssssssssssssssssssssssssss",
                "Data is repeated Data is repeated Data is repeated",
                "Data is repeated. Data is repeated. Data is repeated.",
                "Washington",
                "Washington D.C"
            ]
        }
    ]
}

이제 예상대로 문서가 반환되지만 Azure Search에서 반환 된 Search Highlight 값에 대해 일부 처리를 수행합니다.

우리의 필요에 따라 우리 는 각 경기 ColumnInfo{ColumnId , ColumnValues}대한 객체 를 형성해야합니다 . 이를 위해 @ search.highlights 배열을 반복하고 강조 표시된 각 값을 각각의 ColumnValues.

이제 @search.highlights.ColumnValues- 의 첫 번째 값에 대해 같음 종류의 일치로 "''Data\" is repeated ''Data\" is repeated ''Data\" is repeated"쉽게 매핑 할 수 있습니다 ColumnValues[4].

그래서 우리는 쉽게 ColumnInfo물건을 {"Details", "Data is repeated Data is repeated Data is repeated"}만들 수 있습니다. 그러나 나머지 값 (인덱스 1,2 & 3)의 경우 3 개 @search.highlights.ColumnValues모두 ( ""데이터 "가 반복됩니다.")가 ColumnValues[5].

이것에 문제가 있습니다. 검색 가능한 값에. (일부 구분 기호), 검색 강조 표시가 자동으로 끊어 지므로 전체 ColumnValues필드 인스턴스를 반환하지 않습니다 .

ColumnInfo객체를 구축하는 {ColumnId , ColumnValues}데 관심이 있으므로 ColumnValue인스턴스의 일부 / 하이라이트가 아닌 인스턴스 의 전체 가치에 관심 이 있습니다.

어쨌든이 동작을 재정의하고 Azure Search ColumnValue가 Search Highlight의 일부로 일치 된 각 항목에 대한 전체 문자열을 반환하도록 할 수 있습니까? 이렇게하면 ContainsAzure 검색에서 결과를 가져온 후 .NET Framework의 사용자 지정 ColumnInfo개체 를 생성 한 후 일종의 일치 를 수행하지 않아도 {ColumnId , ColumnValues}됩니다.

이에 대해 제안 된 옵션이 무엇인지보고 싶었습니다. 질문이 장황한 경우 죄송합니다. 필요한 경우 짧은 전화 상담을 예약 해 드리겠습니다.

감사합니다, Sagar

이샨 스리 바스타 바

저는 Azure Cognitive Search 엔지니어링 팀 출신입니다. 귀하의 사용 사례를 이해하는 데 도움이 된 자세한 게시물에 감사드립니다.

불행히도 Azure Search에서 강조 표시 프로세스 중에 텍스트가 조각화되는 방식을 재정의하는 메커니즘이 없습니다. 문장 경계를 분할하기로 한 결정은 사용자가 전체 텍스트 대신 강조 표시가있는 텍스트의 특정 부분을 원하는 강조 표시에서 가장 일반적인 시나리오에 맞게 이루어졌습니다.

또한 입력 ColumnValue컬렉션 필드와 하이라이트로 반환 된 컬렉션 간에 혼동이 있습니다 . 이들은 동일하지 않으며 항목은 상호 연관 될 수 없습니다. 강조 표시에는 전체 필드 텍스트에서 강조 표시된 조각 모음이 포함되어 있으며 강조 표시 관점에서 컬렉션의 모든 항목은 필드 텍스트를 구성합니다.

이 사용 사례는 원래 입력 컬렉션을 구문 분석하고 쿼리 용어에 대한 항목을 확인하여 클라이언트 측에서 처리해야합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관